删除 equipUpgrade.

This commit is contained in:
aozhiwei 2022-09-08 19:45:40 +08:00
parent 3d483e73e9
commit 17ac94132b
13 changed files with 6 additions and 138 deletions

View File

@ -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)
) {

View File

@ -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,

View File

@ -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,

View File

@ -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,

View File

@ -547,63 +547,6 @@ namespace MetaData
}
}
void EquipUpgrade::Init()
{
const int MAX_LV = 20;
for (int j = 0; j < MAX_LV; ++j) {
std::array<float, kHAT_End>& attrs = a8::FastAppend(level_attrs);
for (size_t k = 0; k < kHAT_End; ++k) {
attrs[k] = 0;
}
}
{
std::vector<std::string> 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<std::string> strings2;
a8::Split(str, strings2, ';');
for (auto& str2 : strings2) {
std::vector<std::string> 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()
{
{

View File

@ -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<std::array<float, kHAT_End>> level_attrs;
};
struct Player
{
const metatable::Player* i = nullptr;

View File

@ -181,8 +181,6 @@ public:
std::list<MetaData::Attr> attr_list;
std::list<metatable::RankReward> rankreward_meta_list;
std::list<MetaData::RankReward> rankreward_list;
std::list<metatable::EquipUpgrade> equipupgrade_meta_list;
std::list<MetaData::EquipUpgrade> equipupgrade_list;
std::list<metatable::KillReward> killreward_meta_list;
std::list<MetaData::KillReward> killreward_list;
std::list<metatable::RankPoint> rankpoint_meta_list;
@ -234,7 +232,6 @@ public:
std::map<int, MetaData::KillReward*> killreward_hash;
std::map<int, MetaData::RankPoint*> rankpoint_hash;
std::map<int, MetaData::KillPoint*> killpoint_hash;
std::map<int, MetaData::EquipUpgrade*> equipupgrade_hash;
std::map<int, MetaData::Robot*> robot_hash;
std::map<int, std::vector<MetaData::AirLine*>> airline_hash;
std::map<long long, MetaData::AI*> 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);

View File

@ -27,7 +27,6 @@ class MetaMgr : public a8::Singleton<MetaMgr>
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);

View File

@ -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
}
}

View File

@ -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);

View File

@ -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,

View File

@ -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:

View File

@ -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;
};