diff --git a/server/gameserver/bullet.cc b/server/gameserver/bullet.cc index d1628005..025d8661 100644 --- a/server/gameserver/bullet.cc +++ b/server/gameserver/bullet.cc @@ -429,8 +429,7 @@ void Bullet::MapServiceUpdate() float Bullet::GetAtk() { - float atk = gun_meta->i->atk() + - (gun_upgrade_meta ? gun_upgrade_meta->GetAttrValue(gun_lv, kHAT_Atk) : 0); + float atk = gun_meta->i->atk(); if (sender.Get()->IsAndroid()) { Android* android = (Android*)sender.Get(); atk *= android->ai->GetAttackRate(); @@ -561,9 +560,6 @@ void Bullet::Check(float distance) }); } float bullet_range = gun_meta->i->range(); - if (gun_upgrade_meta && gun_upgrade_meta->GetAttrValue(gun_lv, kHAT_ShotRange) > 0) { - bullet_range += gun_upgrade_meta->GetAttrValue(gun_lv, kHAT_ShotRange); - } if (!objects.empty() || (!IsBomb() && distance > bullet_range) || eat || (IsBomb() && meta->i->_inventory_slot() != IS_RPG && distance >= fly_distance) ) { diff --git a/server/gameserver/creature.cc b/server/gameserver/creature.cc index 7e575ab6..9565a053 100644 --- a/server/gameserver/creature.cc +++ b/server/gameserver/creature.cc @@ -18,7 +18,6 @@ struct BulletInfo CreatureWeakPtr c; long long weapon_uniid = 0; MetaData::Equip* weapon_meta = nullptr; - MetaData::EquipUpgrade* weapon_upgrade_meta = nullptr; MetaData::Equip* bullet_meta = nullptr; a8::Vec2 bullet_born_pos; a8::Vec2 bullet_dir; @@ -70,7 +69,6 @@ static void InternalCreateBullet(BulletInfo& bullet_info) (c, c->shot_passenger, bullet_info.weapon_meta, - bullet_info.weapon_upgrade_meta, bullet_info.bullet_meta, bullet_info.bullet_born_pos, bullet_info.bullet_dir, @@ -122,7 +120,6 @@ static void InternalCreateBullet(BulletInfo& bullet_info) void InternalShot(Creature* c, MetaData::Equip* weapon_meta, - MetaData::EquipUpgrade* weapon_upgrade_meta, MetaData::Equip* bullet_meta, int weapon_lv, int skill_id, @@ -209,7 +206,6 @@ void InternalShot(Creature* c, bullet_info.c = c->GetWeakPtrRef(); bullet_info.weapon_uniid = weapon_uniid; bullet_info.weapon_meta = weapon_meta; - bullet_info.weapon_upgrade_meta = weapon_upgrade_meta; bullet_info.bullet_meta = bullet_meta; bullet_info.bullet_born_pos = bullet_born_pos; bullet_info.bullet_dir = bullet_dir; @@ -1043,8 +1039,6 @@ void Creature::ProcSkillPhase(MetaData::SkillPhase* phase) { MetaData::Equip* weapon_meta = MetaMgr::Instance()->GetEquip(phase->param1.GetInt()); if (weapon_meta) { - MetaData::EquipUpgrade* weapon_upgrade_meta = - MetaMgr::Instance()->GetEquipUpgrade(weapon_meta->i->id()); MetaData::Equip* bullet_meta = MetaMgr::Instance()->GetEquip(weapon_meta->i->use_bullet()); if (CurrentSkill()->meta->i->skill_target() == kST_SpecDir) { @@ -1060,7 +1054,6 @@ void Creature::ProcSkillPhase(MetaData::SkillPhase* phase) ( this, weapon_meta, - weapon_upgrade_meta, bullet_meta, 1, CurrentSkill() ? CurrentSkill()->meta->i->skill_id() : 0, @@ -1083,7 +1076,6 @@ void Creature::ProcSkillPhase(MetaData::SkillPhase* phase) ( this, weapon_meta, - weapon_upgrade_meta, bullet_meta, 1, CurrentSkill() ? CurrentSkill()->meta->i->skill_id() : 0, @@ -1808,7 +1800,6 @@ void Creature::Shot(a8::Vec2& target_dir, bool& shot_ok, float fly_distance) if (GetCurrWeapon()->meta->power_charge.empty() || power_idx < 0) { InternalShot(this, GetCurrWeapon()->meta, - GetCurrWeapon()->GetUpgradeMeta(), GetCurrWeapon()->bullet_meta, GetCurrWeapon()->weapon_lv, 0, @@ -1819,8 +1810,6 @@ void Creature::Shot(a8::Vec2& target_dir, bool& shot_ok, float fly_distance) MetaData::Equip* weapon_meta = MetaMgr::Instance()->GetEquip (std::get<1>(GetCurrWeapon()->meta->power_charge[power_idx])); if (weapon_meta) { - MetaData::EquipUpgrade* weapon_upgrade_meta = MetaMgr::Instance()->GetEquipUpgrade - (weapon_meta->i->id()); MetaData::Equip* bullet_meta = MetaMgr::Instance()->GetEquip(weapon_meta->i->use_bullet());; if (bullet_meta) { @@ -1834,7 +1823,6 @@ void Creature::Shot(a8::Vec2& target_dir, bool& shot_ok, float fly_distance) #endif InternalShot(this, weapon_meta, - weapon_upgrade_meta, bullet_meta, GetCurrWeapon()->weapon_lv, 0, diff --git a/server/gameserver/creature.h b/server/gameserver/creature.h index c827da81..20efd2c9 100644 --- a/server/gameserver/creature.h +++ b/server/gameserver/creature.h @@ -346,7 +346,6 @@ private: void InternalShot(Creature* sender, MetaData::Equip* weapon_meta, - MetaData::EquipUpgrade* weapon_upgrade_meta, MetaData::Equip* bullet_meta, int weapon_lv, int skill_id, diff --git a/server/gameserver/human.cc b/server/gameserver/human.cc index 208f2246..0aa64ac8 100644 --- a/server/gameserver/human.cc +++ b/server/gameserver/human.cc @@ -785,7 +785,6 @@ void Human::CarShot(const a8::Vec2& target_dir) InternalShot(this, second_weapon.meta, - second_weapon.GetUpgradeMeta(), second_weapon.bullet_meta, second_weapon.weapon_lv, 0, diff --git a/server/gameserver/metadata.cc b/server/gameserver/metadata.cc index 1db225a3..b5fdbd7e 100644 --- a/server/gameserver/metadata.cc +++ b/server/gameserver/metadata.cc @@ -547,63 +547,6 @@ namespace MetaData } } - void EquipUpgrade::Init() - { - const int MAX_LV = 20; - for (int j = 0; j < MAX_LV; ++j) { - std::array& attrs = a8::FastAppend(level_attrs); - for (size_t k = 0; k < kHAT_End; ++k) { - attrs[k] = 0; - } - } - { - std::vector strings; - if (!i->spera_attr().empty()) { - a8::Split(i->spera_attr(), strings, '|'); - } else { - a8::Split(i->attr_type(), strings, '|'); - } - int level = 1; - for (auto& str : strings) { - if (str.empty()) { - continue; - } - ++level; - std::vector strings2; - a8::Split(str, strings2, ';'); - for (auto& str2 : strings2) { - std::vector strings3; - a8::Split(str2, strings3, ':'); - if (strings3.size() != 2) { - A8_ABORT(); - } - int attr_type = a8::XValue(strings3[0]); - int attr_value = a8::XValue(strings3[1]); - if (attr_type <= kHAT_End) { - level_attrs[level][attr_type] = attr_value; - } - } - }//end for strings - for (int i = level; i < MAX_LV; ++i) { - level_attrs[i] = level_attrs[level]; - } - } - } - - float EquipUpgrade::GetAttrValue(int level, int attr_type) - { - if (level < 1) { - return 0; - } - if (level > (int)level_attrs.size()) { - return 0; - } - if (attr_type <= kHAT_End) { - return level_attrs[level][attr_type]; - } - return 0; - } - void Player::Init() { { diff --git a/server/gameserver/metadata.h b/server/gameserver/metadata.h index 076a9bc2..81de2173 100644 --- a/server/gameserver/metadata.h +++ b/server/gameserver/metadata.h @@ -118,17 +118,6 @@ namespace MetaData bool Match(CondAddBuff_e cond, int val, int val2); }; - struct EquipUpgrade - { - const metatable::EquipUpgrade* i = nullptr; - - void Init(); - float GetAttrValue(int level, int attr_type); - - private: - std::vector> level_attrs; - }; - struct Player { const metatable::Player* i = nullptr; diff --git a/server/gameserver/metamgr.cc b/server/gameserver/metamgr.cc index b2cc29af..1210067f 100644 --- a/server/gameserver/metamgr.cc +++ b/server/gameserver/metamgr.cc @@ -181,8 +181,6 @@ public: std::list attr_list; std::list rankreward_meta_list; std::list rankreward_list; - std::list equipupgrade_meta_list; - std::list equipupgrade_list; std::list killreward_meta_list; std::list killreward_list; std::list rankpoint_meta_list; @@ -234,7 +232,6 @@ public: std::map killreward_hash; std::map rankpoint_hash; std::map killpoint_hash; - std::map equipupgrade_hash; std::map robot_hash; std::map> airline_hash; std::map android_ai_hash; @@ -293,7 +290,6 @@ public: f8::ReadCsvMetaFile(res_path + "killReward@killReward.csv", killreward_meta_list); f8::ReadCsvMetaFile(res_path + "killPoint@killPoint.csv", killpoint_meta_list); f8::ReadCsvMetaFile(res_path + "rankPoint@rankPoint.csv", rankpoint_meta_list); - f8::ReadCsvMetaFile(res_path + "equipUpgrade@equipUpgrade.csv", equipupgrade_meta_list); f8::ReadCsvMetaFile(res_path + "robot@robot.csv", robot_meta_list); f8::ReadCsvMetaFile(res_path + "ai@ai.csv", ai_meta_list); f8::ReadCsvMetaFile(res_path + "text@text.csv", text_meta_list); @@ -900,13 +896,6 @@ private: rankpoint_hash[item.i->rank()] = &item; } - for (auto& meta : equipupgrade_meta_list) { - MetaData::EquipUpgrade& item = a8::FastAppend(equipupgrade_list); - item.i = &meta; - item.Init(); - equipupgrade_hash[meta.id()] = &item; - } - for (auto& meta : robot_meta_list) { MetaData::Robot& item = a8::FastAppend(robot_list); item.i = &meta; @@ -1062,12 +1051,6 @@ MetaData::Equip* MetaMgr::GetEquipBySlotId(int slot_id) return itr != loader_->equip_slot_hash.end() ? itr->second : nullptr; } -MetaData::EquipUpgrade* MetaMgr::GetEquipUpgrade(int equip_id) -{ - auto itr = loader_->equipupgrade_hash.find(equip_id); - return itr != loader_->equipupgrade_hash.end() ? itr->second : nullptr; -} - MetaData::Building* MetaMgr::GetBuilding(int building_id) { auto itr = loader_->building_hash.find(building_id); diff --git a/server/gameserver/metamgr.h b/server/gameserver/metamgr.h index ccdbd2e3..c687d8bd 100644 --- a/server/gameserver/metamgr.h +++ b/server/gameserver/metamgr.h @@ -27,7 +27,6 @@ class MetaMgr : public a8::Singleton MetaData::Player* GetPlayer(int id); MetaData::Equip* GetEquip(int id); MetaData::Equip* GetEquipBySlotId(int slot_id); - MetaData::EquipUpgrade* GetEquipUpgrade(int equip_id); MetaData::Item* GetItem(int id); MetaData::Item* GetHeroSkin(int id); MetaData::Building* GetBuilding(int building_id); diff --git a/server/gameserver/obstacle.cc b/server/gameserver/obstacle.cc index a719267e..e1849fd2 100644 --- a/server/gameserver/obstacle.cc +++ b/server/gameserver/obstacle.cc @@ -544,16 +544,6 @@ void Obstacle::OnBulletHit(Bullet* bullet) } } BroadcastFullState(bullet->room); -#ifdef DEBUG - bullet->sender.Get()->SendDebugMsg - ( - a8::Format("bullet weapon_id:%d atk:%f", - { - bullet->gun_meta->i->id(), - bullet->GetAtk() - }) - ); -#endif } } diff --git a/server/gameserver/room.cc b/server/gameserver/room.cc index ebf10d25..9ce43b87 100644 --- a/server/gameserver/room.cc +++ b/server/gameserver/room.cc @@ -589,7 +589,6 @@ int Room::CreateLootEx(int equip_id, a8::Vec2 born_pos, a8::Vec2 pos, int count, int Room::CreateBullet(Creature* sender, Creature* passenger, MetaData::Equip* weapon_meta, - MetaData::EquipUpgrade* weapon_upgrade_meta, MetaData::Equip* bullet_meta, a8::Vec2 pos, a8::Vec2 dir, @@ -607,7 +606,6 @@ int Room::CreateBullet(Creature* sender, bullet->room = this; bullet->weapon_uniid = weapon_uniid; bullet->gun_meta = weapon_meta; - bullet->gun_upgrade_meta = weapon_upgrade_meta; bullet->meta = bullet_meta; bullet->SetPos(pos); bullet->dir = dir; @@ -3129,9 +3127,6 @@ void Room::AddPlayerPostProc(Player* hum) hum->GetHP(), hum->GetMaxHP(), hum->GetCurrWeapon()->meta->i->reload_time(), - hum->GetCurrWeapon()->GetUpgradeMeta() ? - hum->GetCurrWeapon()->GetUpgradeMeta()->GetAttrValue - (hum->GetCurrWeapon()->weapon_lv, kHAT_ReloadTime) : 0, hum->GetCurrWeapon()->GetAttrValue(kHAT_ReloadTime) }); hum->SendDebugMsg(debugmsg); diff --git a/server/gameserver/room.h b/server/gameserver/room.h index 9212747e..43e9f162 100644 --- a/server/gameserver/room.h +++ b/server/gameserver/room.h @@ -164,7 +164,6 @@ public: int CreateBullet(Creature* sender, Creature* passenger, MetaData::Equip* weapon_meta, - MetaData::EquipUpgrade* weapon_upgrade_meta, MetaData::Equip* bullet_meta, a8::Vec2 pos, a8::Vec2 dir, diff --git a/server/gameserver/weapon.cc b/server/gameserver/weapon.cc index 874c7851..274890f8 100644 --- a/server/gameserver/weapon.cc +++ b/server/gameserver/weapon.cc @@ -12,7 +12,6 @@ void Weapon::Clear() ammo = 0; meta = 0; bullet_meta = nullptr; - upgrade_meta = nullptr; } void Weapon::ToPB(cs::MFWeapon* pb_obj) @@ -26,7 +25,6 @@ void Weapon::ToPB(cs::MFWeapon* pb_obj) void Weapon::Recalc() { - upgrade_meta = MetaMgr::Instance()->GetEquipUpgrade(weapon_id); bullet_meta = MetaMgr::Instance()->GetEquip(meta->i->use_bullet()); } @@ -43,32 +41,27 @@ float Weapon::GetAttrValue(HumanAttrType_e attr_type) switch (attr_type) { case kHAT_Atk: { - return meta->i->atk() + - (upgrade_meta ? upgrade_meta->GetAttrValue(weapon_lv, attr_type) : 0); + return meta->i->atk(); } break; case kHAT_FireRate: { - return meta->i->fire_rate() - - (upgrade_meta ? upgrade_meta->GetAttrValue(weapon_lv, attr_type) : 0); + return meta->i->fire_rate(); } break; case kHAT_Volume: { - return meta->i->clip_volume() + - (upgrade_meta ? upgrade_meta->GetAttrValue(weapon_lv, attr_type) : 0); + return meta->i->clip_volume(); } break; case kHAT_MaxHp: { - return meta->i->max_hp() + - (upgrade_meta ? upgrade_meta->GetAttrValue(weapon_lv, attr_type) : 0); + return meta->i->max_hp(); } break; case kHAT_ReloadTime: { - return meta->i->reload_time() - - (upgrade_meta ? upgrade_meta->GetAttrValue(weapon_lv, attr_type) : 0); + return meta->i->reload_time(); } break; default: diff --git a/server/gameserver/weapon.h b/server/gameserver/weapon.h index 490cd95c..cef733a2 100644 --- a/server/gameserver/weapon.h +++ b/server/gameserver/weapon.h @@ -9,7 +9,6 @@ namespace cs namespace MetaData { struct Equip; - struct EquipUpgrade; } struct Weapon @@ -27,8 +26,4 @@ struct Weapon void Recalc(); int GetClipVolume(); float GetAttrValue(HumanAttrType_e attr_type); - MetaData::EquipUpgrade* GetUpgradeMeta() { return upgrade_meta;} - -private: - MetaData::EquipUpgrade* upgrade_meta = nullptr; };