击杀金币ok

This commit is contained in:
aozhiwei 2019-05-23 17:41:00 +08:00
parent 15ac657d30
commit c400f00536
5 changed files with 36 additions and 5 deletions

View File

@ -1808,7 +1808,10 @@ void Human::GenBattleReportData(a8::MutableXObject* params)
params->SetVal("rescue_member", stats.rescue_member); params->SetVal("rescue_member", stats.rescue_member);
{ {
int coin_num = (rank * MetaMgr::Instance()->rank_param) + (stats.kills * MetaMgr::Instance()->kill_param); float rank_param = MetaMgr::Instance()->GetRankRewardParam(rank);
float kill_param = MetaMgr::Instance()->GetKillRewardParam(stats.kills);
int coin_num = (rank_param * MetaMgr::Instance()->rank_param) +
(kill_param * MetaMgr::Instance()->kill_param);
stats.gold = coin_num; stats.gold = coin_num;
params->SetVal("coin_num", coin_num); params->SetVal("coin_num", coin_num);
} }

View File

@ -156,4 +156,9 @@ namespace MetaData
const metatable::RankReward* i = nullptr; const metatable::RankReward* i = nullptr;
}; };
struct KillReward
{
const metatable::KillReward* i = nullptr;
};
} }

View File

@ -41,6 +41,8 @@ public:
std::list<MetaData::RankReward> rankreward_list; std::list<MetaData::RankReward> rankreward_list;
std::list<metatable::EquipUpgrade> equipupgrade_meta_list; std::list<metatable::EquipUpgrade> equipupgrade_meta_list;
std::list<MetaData::EquipUpgrade> equipupgrade_list; std::list<MetaData::EquipUpgrade> equipupgrade_list;
std::list<metatable::KillReward> killreward_meta_list;
std::list<MetaData::KillReward> killreward_list;
std::map<std::string, MetaData::Parameter*> parameter_hash; std::map<std::string, MetaData::Parameter*> parameter_hash;
std::map<int, MetaData::Map*> gamemap_hash; std::map<int, MetaData::Map*> gamemap_hash;
@ -57,6 +59,7 @@ public:
std::map<int, MetaData::Dress*> dress_hash; std::map<int, MetaData::Dress*> dress_hash;
std::map<int, MetaData::Skill*> skill_hash; std::map<int, MetaData::Skill*> skill_hash;
std::map<int, MetaData::RankReward*> rankreward_hash; std::map<int, MetaData::RankReward*> rankreward_hash;
std::map<int, MetaData::KillReward*> killreward_hash;
std::map<long long, MetaData::EquipUpgrade*> equipupgrade_hash; std::map<long long, MetaData::EquipUpgrade*> equipupgrade_hash;
void Load() void Load()
@ -91,6 +94,7 @@ public:
f8::ReadCsvMetaFile(res_path + "dress@dress.csv", dress_meta_list); f8::ReadCsvMetaFile(res_path + "dress@dress.csv", dress_meta_list);
f8::ReadCsvMetaFile(res_path + "skill@skill.csv", skill_meta_list); f8::ReadCsvMetaFile(res_path + "skill@skill.csv", skill_meta_list);
f8::ReadCsvMetaFile(res_path + "rankReward@rankReward.csv", rankreward_meta_list); f8::ReadCsvMetaFile(res_path + "rankReward@rankReward.csv", rankreward_meta_list);
f8::ReadCsvMetaFile(res_path + "killReward@killReward.csv", killreward_meta_list);
f8::ReadCsvMetaFile(res_path + "equipUpgrade@equipUpgrade.csv", equipupgrade_meta_list); f8::ReadCsvMetaFile(res_path + "equipUpgrade@equipUpgrade.csv", equipupgrade_meta_list);
BindToMetaData(); BindToMetaData();
#if 1 #if 1
@ -236,6 +240,12 @@ private:
rankreward_hash[item.i->rank()] = &item; rankreward_hash[item.i->rank()] = &item;
} }
for (auto& meta : killreward_meta_list) {
MetaData::KillReward& item = a8::FastAppend(killreward_list);
item.i = &meta;
killreward_hash[item.i->kill_num()] = &item;
}
for (auto& meta : equipupgrade_meta_list) { for (auto& meta : equipupgrade_meta_list) {
MetaData::EquipUpgrade& item = a8::FastAppend(equipupgrade_list); MetaData::EquipUpgrade& item = a8::FastAppend(equipupgrade_list);
item.i = &meta; item.i = &meta;
@ -372,8 +382,14 @@ MetaData::Dress* MetaMgr::GetDress(int dress_id)
return itr != loader_->dress_hash.end() ? itr->second : nullptr; return itr != loader_->dress_hash.end() ? itr->second : nullptr;
} }
MetaData::RankReward* MetaMgr::GetRankReward(int rank) float MetaMgr::GetRankRewardParam(int rank)
{ {
auto itr = loader_->rankreward_hash.find(rank); auto itr = loader_->rankreward_hash.find(rank);
return itr != loader_->rankreward_hash.end() ? itr->second : nullptr; return itr != loader_->rankreward_hash.end() ? itr->second->i->parameter() : 0.0f;
}
float MetaMgr::GetKillRewardParam(int kill_num)
{
auto itr = loader_->killreward_hash.find(kill_num);
return itr != loader_->killreward_hash.end() ? itr->second->i->parameter() : 0.0f;
} }

View File

@ -33,7 +33,8 @@ class MetaMgr : public a8::Singleton<MetaMgr>
MetaData::AirLine* RandAirLine(); MetaData::AirLine* RandAirLine();
MetaData::Skill* GetSkill(int skill_id); MetaData::Skill* GetSkill(int skill_id);
MetaData::Dress* GetDress(int dress_id); MetaData::Dress* GetDress(int dress_id);
MetaData::RankReward* GetRankReward(int rank); float GetRankRewardParam(int rank);
float GetKillRewardParam(int kill_num);
int gas_inactive_time = 10; int gas_inactive_time = 10;
int jump_time = 10; int jump_time = 10;

View File

@ -150,7 +150,13 @@ message Dress
message RankReward message RankReward
{ {
optional int32 rank = 1; optional int32 rank = 1;
optional int32 parameter = 2; optional float parameter = 2;
}
message KillReward
{
optional int32 kill_num = 1;
optional float parameter = 2;
} }
//end //end