删除 equipUpgrade.
This commit is contained in:
parent
3d483e73e9
commit
17ac94132b
@ -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)
|
||||
) {
|
||||
|
@ -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,
|
||||
|
@ -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,
|
||||
|
@ -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,
|
||||
|
@ -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()
|
||||
{
|
||||
{
|
||||
|
@ -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;
|
||||
|
@ -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);
|
||||
|
@ -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);
|
||||
|
@ -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
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -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);
|
||||
|
@ -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,
|
||||
|
@ -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:
|
||||
|
@ -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;
|
||||
};
|
||||
|
Loading…
x
Reference in New Issue
Block a user