删除 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 Bullet::GetAtk()
{ {
float atk = gun_meta->i->atk() + float atk = gun_meta->i->atk();
(gun_upgrade_meta ? gun_upgrade_meta->GetAttrValue(gun_lv, kHAT_Atk) : 0);
if (sender.Get()->IsAndroid()) { if (sender.Get()->IsAndroid()) {
Android* android = (Android*)sender.Get(); Android* android = (Android*)sender.Get();
atk *= android->ai->GetAttackRate(); atk *= android->ai->GetAttackRate();
@ -561,9 +560,6 @@ void Bullet::Check(float distance)
}); });
} }
float bullet_range = gun_meta->i->range(); 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 || if (!objects.empty() || (!IsBomb() && distance > bullet_range) || eat ||
(IsBomb() && meta->i->_inventory_slot() != IS_RPG && distance >= fly_distance) (IsBomb() && meta->i->_inventory_slot() != IS_RPG && distance >= fly_distance)
) { ) {

View File

@ -18,7 +18,6 @@ struct BulletInfo
CreatureWeakPtr c; CreatureWeakPtr c;
long long weapon_uniid = 0; long long weapon_uniid = 0;
MetaData::Equip* weapon_meta = nullptr; MetaData::Equip* weapon_meta = nullptr;
MetaData::EquipUpgrade* weapon_upgrade_meta = nullptr;
MetaData::Equip* bullet_meta = nullptr; MetaData::Equip* bullet_meta = nullptr;
a8::Vec2 bullet_born_pos; a8::Vec2 bullet_born_pos;
a8::Vec2 bullet_dir; a8::Vec2 bullet_dir;
@ -70,7 +69,6 @@ static void InternalCreateBullet(BulletInfo& bullet_info)
(c, (c,
c->shot_passenger, c->shot_passenger,
bullet_info.weapon_meta, bullet_info.weapon_meta,
bullet_info.weapon_upgrade_meta,
bullet_info.bullet_meta, bullet_info.bullet_meta,
bullet_info.bullet_born_pos, bullet_info.bullet_born_pos,
bullet_info.bullet_dir, bullet_info.bullet_dir,
@ -122,7 +120,6 @@ static void InternalCreateBullet(BulletInfo& bullet_info)
void InternalShot(Creature* c, void InternalShot(Creature* c,
MetaData::Equip* weapon_meta, MetaData::Equip* weapon_meta,
MetaData::EquipUpgrade* weapon_upgrade_meta,
MetaData::Equip* bullet_meta, MetaData::Equip* bullet_meta,
int weapon_lv, int weapon_lv,
int skill_id, int skill_id,
@ -209,7 +206,6 @@ void InternalShot(Creature* c,
bullet_info.c = c->GetWeakPtrRef(); bullet_info.c = c->GetWeakPtrRef();
bullet_info.weapon_uniid = weapon_uniid; bullet_info.weapon_uniid = weapon_uniid;
bullet_info.weapon_meta = weapon_meta; bullet_info.weapon_meta = weapon_meta;
bullet_info.weapon_upgrade_meta = weapon_upgrade_meta;
bullet_info.bullet_meta = bullet_meta; bullet_info.bullet_meta = bullet_meta;
bullet_info.bullet_born_pos = bullet_born_pos; bullet_info.bullet_born_pos = bullet_born_pos;
bullet_info.bullet_dir = bullet_dir; 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()); MetaData::Equip* weapon_meta = MetaMgr::Instance()->GetEquip(phase->param1.GetInt());
if (weapon_meta) { if (weapon_meta) {
MetaData::EquipUpgrade* weapon_upgrade_meta =
MetaMgr::Instance()->GetEquipUpgrade(weapon_meta->i->id());
MetaData::Equip* bullet_meta = MetaData::Equip* bullet_meta =
MetaMgr::Instance()->GetEquip(weapon_meta->i->use_bullet()); MetaMgr::Instance()->GetEquip(weapon_meta->i->use_bullet());
if (CurrentSkill()->meta->i->skill_target() == kST_SpecDir) { if (CurrentSkill()->meta->i->skill_target() == kST_SpecDir) {
@ -1060,7 +1054,6 @@ void Creature::ProcSkillPhase(MetaData::SkillPhase* phase)
( (
this, this,
weapon_meta, weapon_meta,
weapon_upgrade_meta,
bullet_meta, bullet_meta,
1, 1,
CurrentSkill() ? CurrentSkill()->meta->i->skill_id() : 0, CurrentSkill() ? CurrentSkill()->meta->i->skill_id() : 0,
@ -1083,7 +1076,6 @@ void Creature::ProcSkillPhase(MetaData::SkillPhase* phase)
( (
this, this,
weapon_meta, weapon_meta,
weapon_upgrade_meta,
bullet_meta, bullet_meta,
1, 1,
CurrentSkill() ? CurrentSkill()->meta->i->skill_id() : 0, 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) { if (GetCurrWeapon()->meta->power_charge.empty() || power_idx < 0) {
InternalShot(this, InternalShot(this,
GetCurrWeapon()->meta, GetCurrWeapon()->meta,
GetCurrWeapon()->GetUpgradeMeta(),
GetCurrWeapon()->bullet_meta, GetCurrWeapon()->bullet_meta,
GetCurrWeapon()->weapon_lv, GetCurrWeapon()->weapon_lv,
0, 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 MetaData::Equip* weapon_meta = MetaMgr::Instance()->GetEquip
(std::get<1>(GetCurrWeapon()->meta->power_charge[power_idx])); (std::get<1>(GetCurrWeapon()->meta->power_charge[power_idx]));
if (weapon_meta) { 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());; MetaData::Equip* bullet_meta = MetaMgr::Instance()->GetEquip(weapon_meta->i->use_bullet());;
if (bullet_meta) { if (bullet_meta) {
@ -1834,7 +1823,6 @@ void Creature::Shot(a8::Vec2& target_dir, bool& shot_ok, float fly_distance)
#endif #endif
InternalShot(this, InternalShot(this,
weapon_meta, weapon_meta,
weapon_upgrade_meta,
bullet_meta, bullet_meta,
GetCurrWeapon()->weapon_lv, GetCurrWeapon()->weapon_lv,
0, 0,

View File

@ -346,7 +346,6 @@ private:
void InternalShot(Creature* sender, void InternalShot(Creature* sender,
MetaData::Equip* weapon_meta, MetaData::Equip* weapon_meta,
MetaData::EquipUpgrade* weapon_upgrade_meta,
MetaData::Equip* bullet_meta, MetaData::Equip* bullet_meta,
int weapon_lv, int weapon_lv,
int skill_id, int skill_id,

View File

@ -785,7 +785,6 @@ void Human::CarShot(const a8::Vec2& target_dir)
InternalShot(this, InternalShot(this,
second_weapon.meta, second_weapon.meta,
second_weapon.GetUpgradeMeta(),
second_weapon.bullet_meta, second_weapon.bullet_meta,
second_weapon.weapon_lv, second_weapon.weapon_lv,
0, 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() void Player::Init()
{ {
{ {

View File

@ -118,17 +118,6 @@ namespace MetaData
bool Match(CondAddBuff_e cond, int val, int val2); 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 struct Player
{ {
const metatable::Player* i = nullptr; const metatable::Player* i = nullptr;

View File

@ -181,8 +181,6 @@ public:
std::list<MetaData::Attr> attr_list; std::list<MetaData::Attr> attr_list;
std::list<metatable::RankReward> rankreward_meta_list; std::list<metatable::RankReward> rankreward_meta_list;
std::list<MetaData::RankReward> rankreward_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<metatable::KillReward> killreward_meta_list;
std::list<MetaData::KillReward> killreward_list; std::list<MetaData::KillReward> killreward_list;
std::list<metatable::RankPoint> rankpoint_meta_list; std::list<metatable::RankPoint> rankpoint_meta_list;
@ -234,7 +232,6 @@ public:
std::map<int, MetaData::KillReward*> killreward_hash; std::map<int, MetaData::KillReward*> killreward_hash;
std::map<int, MetaData::RankPoint*> rankpoint_hash; std::map<int, MetaData::RankPoint*> rankpoint_hash;
std::map<int, MetaData::KillPoint*> killpoint_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, MetaData::Robot*> robot_hash;
std::map<int, std::vector<MetaData::AirLine*>> airline_hash; std::map<int, std::vector<MetaData::AirLine*>> airline_hash;
std::map<long long, MetaData::AI*> android_ai_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 + "killReward@killReward.csv", killreward_meta_list);
f8::ReadCsvMetaFile(res_path + "killPoint@killPoint.csv", killpoint_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 + "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 + "robot@robot.csv", robot_meta_list);
f8::ReadCsvMetaFile(res_path + "ai@ai.csv", ai_meta_list); f8::ReadCsvMetaFile(res_path + "ai@ai.csv", ai_meta_list);
f8::ReadCsvMetaFile(res_path + "text@text.csv", text_meta_list); f8::ReadCsvMetaFile(res_path + "text@text.csv", text_meta_list);
@ -900,13 +896,6 @@ private:
rankpoint_hash[item.i->rank()] = &item; 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) { for (auto& meta : robot_meta_list) {
MetaData::Robot& item = a8::FastAppend(robot_list); MetaData::Robot& item = a8::FastAppend(robot_list);
item.i = &meta; item.i = &meta;
@ -1062,12 +1051,6 @@ MetaData::Equip* MetaMgr::GetEquipBySlotId(int slot_id)
return itr != loader_->equip_slot_hash.end() ? itr->second : nullptr; 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) MetaData::Building* MetaMgr::GetBuilding(int building_id)
{ {
auto itr = loader_->building_hash.find(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::Player* GetPlayer(int id);
MetaData::Equip* GetEquip(int id); MetaData::Equip* GetEquip(int id);
MetaData::Equip* GetEquipBySlotId(int slot_id); MetaData::Equip* GetEquipBySlotId(int slot_id);
MetaData::EquipUpgrade* GetEquipUpgrade(int equip_id);
MetaData::Item* GetItem(int id); MetaData::Item* GetItem(int id);
MetaData::Item* GetHeroSkin(int id); MetaData::Item* GetHeroSkin(int id);
MetaData::Building* GetBuilding(int building_id); MetaData::Building* GetBuilding(int building_id);

View File

@ -544,16 +544,6 @@ void Obstacle::OnBulletHit(Bullet* bullet)
} }
} }
BroadcastFullState(bullet->room); 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, int Room::CreateBullet(Creature* sender,
Creature* passenger, Creature* passenger,
MetaData::Equip* weapon_meta, MetaData::Equip* weapon_meta,
MetaData::EquipUpgrade* weapon_upgrade_meta,
MetaData::Equip* bullet_meta, MetaData::Equip* bullet_meta,
a8::Vec2 pos, a8::Vec2 pos,
a8::Vec2 dir, a8::Vec2 dir,
@ -607,7 +606,6 @@ int Room::CreateBullet(Creature* sender,
bullet->room = this; bullet->room = this;
bullet->weapon_uniid = weapon_uniid; bullet->weapon_uniid = weapon_uniid;
bullet->gun_meta = weapon_meta; bullet->gun_meta = weapon_meta;
bullet->gun_upgrade_meta = weapon_upgrade_meta;
bullet->meta = bullet_meta; bullet->meta = bullet_meta;
bullet->SetPos(pos); bullet->SetPos(pos);
bullet->dir = dir; bullet->dir = dir;
@ -3129,9 +3127,6 @@ void Room::AddPlayerPostProc(Player* hum)
hum->GetHP(), hum->GetHP(),
hum->GetMaxHP(), hum->GetMaxHP(),
hum->GetCurrWeapon()->meta->i->reload_time(), 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->GetCurrWeapon()->GetAttrValue(kHAT_ReloadTime)
}); });
hum->SendDebugMsg(debugmsg); hum->SendDebugMsg(debugmsg);

View File

@ -164,7 +164,6 @@ public:
int CreateBullet(Creature* sender, int CreateBullet(Creature* sender,
Creature* passenger, Creature* passenger,
MetaData::Equip* weapon_meta, MetaData::Equip* weapon_meta,
MetaData::EquipUpgrade* weapon_upgrade_meta,
MetaData::Equip* bullet_meta, MetaData::Equip* bullet_meta,
a8::Vec2 pos, a8::Vec2 pos,
a8::Vec2 dir, a8::Vec2 dir,

View File

@ -12,7 +12,6 @@ void Weapon::Clear()
ammo = 0; ammo = 0;
meta = 0; meta = 0;
bullet_meta = nullptr; bullet_meta = nullptr;
upgrade_meta = nullptr;
} }
void Weapon::ToPB(cs::MFWeapon* pb_obj) void Weapon::ToPB(cs::MFWeapon* pb_obj)
@ -26,7 +25,6 @@ void Weapon::ToPB(cs::MFWeapon* pb_obj)
void Weapon::Recalc() void Weapon::Recalc()
{ {
upgrade_meta = MetaMgr::Instance()->GetEquipUpgrade(weapon_id);
bullet_meta = MetaMgr::Instance()->GetEquip(meta->i->use_bullet()); bullet_meta = MetaMgr::Instance()->GetEquip(meta->i->use_bullet());
} }
@ -43,32 +41,27 @@ float Weapon::GetAttrValue(HumanAttrType_e attr_type)
switch (attr_type) { switch (attr_type) {
case kHAT_Atk: case kHAT_Atk:
{ {
return meta->i->atk() + return meta->i->atk();
(upgrade_meta ? upgrade_meta->GetAttrValue(weapon_lv, attr_type) : 0);
} }
break; break;
case kHAT_FireRate: case kHAT_FireRate:
{ {
return meta->i->fire_rate() - return meta->i->fire_rate();
(upgrade_meta ? upgrade_meta->GetAttrValue(weapon_lv, attr_type) : 0);
} }
break; break;
case kHAT_Volume: case kHAT_Volume:
{ {
return meta->i->clip_volume() + return meta->i->clip_volume();
(upgrade_meta ? upgrade_meta->GetAttrValue(weapon_lv, attr_type) : 0);
} }
break; break;
case kHAT_MaxHp: case kHAT_MaxHp:
{ {
return meta->i->max_hp() + return meta->i->max_hp();
(upgrade_meta ? upgrade_meta->GetAttrValue(weapon_lv, attr_type) : 0);
} }
break; break;
case kHAT_ReloadTime: case kHAT_ReloadTime:
{ {
return meta->i->reload_time() - return meta->i->reload_time();
(upgrade_meta ? upgrade_meta->GetAttrValue(weapon_lv, attr_type) : 0);
} }
break; break;
default: default:

View File

@ -9,7 +9,6 @@ namespace cs
namespace MetaData namespace MetaData
{ {
struct Equip; struct Equip;
struct EquipUpgrade;
} }
struct Weapon struct Weapon
@ -27,8 +26,4 @@ struct Weapon
void Recalc(); void Recalc();
int GetClipVolume(); int GetClipVolume();
float GetAttrValue(HumanAttrType_e attr_type); float GetAttrValue(HumanAttrType_e attr_type);
MetaData::EquipUpgrade* GetUpgradeMeta() { return upgrade_meta;}
private:
MetaData::EquipUpgrade* upgrade_meta = nullptr;
}; };