添加降落伞表情功能

This commit is contained in:
aozhiwei 2019-08-23 11:28:09 +08:00
parent b6fc90b9bc
commit 91a29b88c9
9 changed files with 87 additions and 13 deletions

View File

@ -131,6 +131,15 @@ void Human::FillMFObjectFull(cs::MFObjectFull* full_data)
p->set_vip(vip); p->set_vip(vip);
p->set_sdmg(sdmg); p->set_sdmg(sdmg);
p->set_kill_count(stats.kills); p->set_kill_count(stats.kills);
if (emoji1 != 0) {
p->set_emoji1(emoji1);
}
if (emoji2 != 0) {
p->set_emoji2(emoji2);
}
if (parachute != 0) {
p->set_parachute(parachute);
}
FillBodyState(p->mutable_states()); FillBodyState(p->mutable_states());
} }
@ -155,6 +164,9 @@ void Human::FillMFPlayerStats(cs::MFPlayerStats* stats_pb)
stats_pb->set_gold(stats.gold); stats_pb->set_gold(stats.gold);
stats_pb->set_score(stats.score); stats_pb->set_score(stats.score);
stats_pb->set_pass_score(stats.pass_score);
stats_pb->set_rank_score(stats.rank_score);
stats_pb->set_has_pass(has_pass);
stats_pb->set_dead(dead); stats_pb->set_dead(dead);
stats_pb->set_killer_id(stats.killer_id); stats_pb->set_killer_id(stats.killer_id);
@ -2049,7 +2061,13 @@ void Human::GenBattleReportData(a8::MutableXObject* params)
stats.gold = coin_num; stats.gold = coin_num;
params->SetVal("coin_num", coin_num); params->SetVal("coin_num", coin_num);
} }
{
stats.pass_score = MetaMgr::Instance()->GetKillPointParam1(stats.kills);
stats.rank_score = MetaMgr::Instance()->GetKillPointParam1(stats.kills);
}
params->SetVal("score", 0); params->SetVal("score", 0);
params->SetVal("pass_score", has_pass ? stats.pass_score * 2 : stats.pass_score);
params->SetVal("rank_score", has_pass ? stats.rank_score * 2 : stats.rank_score);
} }
void Human::InternalSendGameOver() void Human::InternalSendGameOver()

View File

@ -83,6 +83,10 @@ class Human : public Entity
long long join_frameno = 0; long long join_frameno = 0;
int status = 0; int status = 0;
float atk_add = 0.0f; float atk_add = 0.0f;
int emoji1 = 0;
int emoji2 = 0;
int parachute = 0;
bool has_pass = 0;
Weapon default_weapon; Weapon default_weapon;
std::vector<Weapon> weapons; std::vector<Weapon> weapons;

View File

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

View File

@ -43,6 +43,8 @@ public:
std::list<MetaData::EquipUpgrade> equipupgrade_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::KillPoint> killpoint_meta_list;
std::list<MetaData::KillPoint> killpoint_list;
std::list<metatable::Robot> robot_meta_list; std::list<metatable::Robot> robot_meta_list;
std::vector<MetaData::Robot> robot_list; std::vector<MetaData::Robot> robot_list;
@ -62,6 +64,7 @@ public:
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<int, MetaData::KillReward*> killreward_hash;
std::map<int, MetaData::KillPoint*> killpoint_hash;
std::map<int, MetaData::EquipUpgrade*> equipupgrade_hash; std::map<int, MetaData::EquipUpgrade*> equipupgrade_hash;
std::map<int, MetaData::Robot*> robot_hash; std::map<int, MetaData::Robot*> robot_hash;
@ -98,6 +101,7 @@ public:
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 + "killReward@killReward.csv", killreward_meta_list);
f8::ReadCsvMetaFile(res_path + "killPoint@killPoint.csv", killpoint_meta_list);
f8::ReadCsvMetaFile(res_path + "equipUpgrade@equipUpgrade.csv", equipupgrade_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);
BindToMetaData(); BindToMetaData();
@ -249,23 +253,29 @@ private:
} }
for (auto& meta : killreward_meta_list) { for (auto& meta : killreward_meta_list) {
MetaData::KillReward& item = a8::FastAppend(killreward_list); MetaData::KillReward& item = a8::FastAppend(killreward_list);
item.i = &meta; item.i = &meta;
killreward_hash[item.i->kill_num()] = &item; killreward_hash[item.i->kill_num()] = &item;
} }
for (auto& meta : killpoint_meta_list) {
MetaData::KillPoint& item = a8::FastAppend(killpoint_list);
item.i = &meta;
killpoint_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;
equipupgrade_hash[meta.id()] = &item; 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;
item.Init(); item.Init();
robot_hash[meta.id()] = &item; robot_hash[meta.id()] = &item;
} }
} }
@ -409,6 +419,18 @@ float MetaMgr::GetKillRewardParam(int kill_num)
return itr != loader_->killreward_hash.end() ? itr->second->i->parameter() : 0.0f; return itr != loader_->killreward_hash.end() ? itr->second->i->parameter() : 0.0f;
} }
int MetaMgr::GetKillPointParam1(int kill_num)
{
auto itr = loader_->killpoint_hash.find(kill_num);
return itr != loader_->killpoint_hash.end() ? itr->second->i->parameter() : 0;
}
int MetaMgr::GetKillPointParam2(int kill_num)
{
auto itr = loader_->killpoint_hash.find(kill_num);
return itr != loader_->killpoint_hash.end() ? itr->second->i->parameter2() : 0;
}
std::vector<MetaData::Robot>* MetaMgr::GetRobotList() std::vector<MetaData::Robot>* MetaMgr::GetRobotList()
{ {
return &loader_->robot_list; return &loader_->robot_list;

View File

@ -35,6 +35,8 @@ class MetaMgr : public a8::Singleton<MetaMgr>
MetaData::Dress* GetDress(int dress_id); MetaData::Dress* GetDress(int dress_id);
float GetRankRewardParam(int rank); float GetRankRewardParam(int rank);
float GetKillRewardParam(int kill_num); float GetKillRewardParam(int kill_num);
int GetKillPointParam1(int kill_num);
int GetKillPointParam2(int kill_num);
std::vector<MetaData::Robot>* GetRobotList(); std::vector<MetaData::Robot>* GetRobotList();
MetaData::Robot* GetRobot(int robot_id); MetaData::Robot* GetRobot(int robot_id);

View File

@ -54,6 +54,10 @@ Player* PlayerMgr::CreatePlayerByCMJoin(long ip_saddr, int socket, const cs::CMJ
hum->create_tick = a8::XGetTickCount(); hum->create_tick = a8::XGetTickCount();
hum->account_registertime = f8::ExtractRegisterTimeFromSessionId(msg.session_id()); hum->account_registertime = f8::ExtractRegisterTimeFromSessionId(msg.session_id());
hum->atk_add = msg.atk_add(); hum->atk_add = msg.atk_add();
hum->emoji1 = msg.emoji1();
hum->emoji2 = msg.emoji2();
hum->parachute = msg.parachute();
hum->has_pass = msg.has_pass();
if (hum->atk_add > 0.9999f) { if (hum->atk_add > 0.9999f) {
hum->atk_add = hum->atk_add / 100.0f; hum->atk_add = hum->atk_add / 100.0f;
a8::SetBitFlag(hum->status, HS_AtkAdd); a8::SetBitFlag(hum->status, HS_AtkAdd);

View File

@ -82,6 +82,8 @@ struct PlayerStats
int gold = 0; int gold = 0;
int score = 0; int score = 0;
int pass_score = 0;
int rank_score = 0;
std::vector<std::pair<int, int>> extra_drop; std::vector<std::pair<int, int>> extra_drop;

View File

@ -190,6 +190,9 @@ message MFPlayerFull
optional int32 max_energy_shield = 22; // optional int32 max_energy_shield = 22; //
repeated MFBodyState states = 23; // repeated MFBodyState states = 23; //
optional int32 kill_count = 24; // optional int32 kill_count = 24; //
optional int32 emoji1 = 25; //1
optional int32 emoji2 = 26; //2
optional int32 parachute = 27; //
} }
//- //-
@ -555,6 +558,9 @@ message MFPlayerStats
optional int32 gold = 10; // optional int32 gold = 10; //
optional int32 score = 11; // optional int32 score = 11; //
optional int32 pass_score = 9; //
optional int32 rank_score = 13; //
optional bool has_pass = 27; //
repeated MFPair extra_drop = 12; //,key:item_id value:(广) repeated MFPair extra_drop = 12; //,key:item_id value:(广)
@ -630,6 +636,10 @@ message CMJoin
optional string from_appid = 21; //from_appid optional string from_appid = 21; //from_appid
optional float atk_add = 22; // optional float atk_add = 22; //
optional string pre_settlement_info = 23; //game2001api预结算信息() optional string pre_settlement_info = 23; //game2001api预结算信息()
optional int32 emoji1 = 24; //1
optional int32 emoji2 = 25; //2
optional int32 parachute = 26; //
optional bool has_pass = 27; //
} }
// //

View File

@ -171,6 +171,13 @@ message KillReward
optional float parameter = 2; optional float parameter = 2;
} }
message KillPoint
{
optional int32 kill_num = 1;
optional int32 parameter = 2;
optional int32 parameter2 = 3;
}
//end //end
message DoorObjJson message DoorObjJson