1
This commit is contained in:
parent
da28c5bc0a
commit
96845f3b1f
@ -110,7 +110,7 @@ void BattleDataContext::ParseResult(a8::XObject& obj)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void BattleDataContext::GetHeroLvQualit(int& hero_lv, int& quality)
|
void BattleDataContext::GetHeroLvQuality(int& hero_lv, int& quality)
|
||||||
{
|
{
|
||||||
hero_lv = 1;
|
hero_lv = 1;
|
||||||
quality = 1;
|
quality = 1;
|
||||||
@ -122,7 +122,7 @@ void BattleDataContext::GetHeroLvQualit(int& hero_lv, int& quality)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void BattleDataContext::GetWeaponLvQualit(int& weapon_lv, int& quality)
|
void BattleDataContext::GetWeaponLvQuality(int& weapon_lv, int& quality)
|
||||||
{
|
{
|
||||||
weapon_lv = 1;
|
weapon_lv = 1;
|
||||||
quality = 1;
|
quality = 1;
|
||||||
@ -408,3 +408,16 @@ void BattleDataContext::Init(Creature* c)
|
|||||||
dodge_ = hero_ability_->GetDodge();
|
dodge_ = hero_ability_->GetDodge();
|
||||||
dodge_damage_ruduce_ = hero_ability_->GetDodgeDamageRuduce();
|
dodge_damage_ruduce_ = hero_ability_->GetDodgeDamageRuduce();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void BattleDataContext::GetSkillList(std::vector<int>& skill_list)
|
||||||
|
{
|
||||||
|
int hero_lv = 1;
|
||||||
|
int quality = 1;
|
||||||
|
GetHeroLvQuality(hero_lv, quality);
|
||||||
|
MetaData::Skill* skill1 = MetaMgr::Instance()->GetSkill(hero_ability_->hero_meta->i->skill1list());
|
||||||
|
MetaData::Skill* skill2 = MetaMgr::Instance()->GetSkill(hero_ability_->hero_meta->i->skill2list());
|
||||||
|
MetaData::Skill* skill3 = MetaMgr::Instance()->GetSkill(hero_ability_->hero_meta->i->skill3list());
|
||||||
|
if (skill1 && skill2 && skill3) {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@ -42,8 +42,8 @@ struct BattleDataContext
|
|||||||
|
|
||||||
BattleDataContext();
|
BattleDataContext();
|
||||||
|
|
||||||
void GetHeroLvQualit(int& hero_lv, int& quality);
|
void GetHeroLvQuality(int& hero_lv, int& quality);
|
||||||
void GetWeaponLvQualit(int& weapon_lv, int& quality);
|
void GetWeaponLvQuality(int& weapon_lv, int& quality);
|
||||||
|
|
||||||
void ParseResult(a8::XObject& obj);
|
void ParseResult(a8::XObject& obj);
|
||||||
|
|
||||||
@ -64,6 +64,7 @@ struct BattleDataContext
|
|||||||
long long weapon2_uniid,
|
long long weapon2_uniid,
|
||||||
MetaData::Equip* weapon2_meta);
|
MetaData::Equip* weapon2_meta);
|
||||||
void Init(Creature* c);
|
void Init(Creature* c);
|
||||||
|
void GetSkillList(std::vector<int>& skill_list);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void Clear();
|
void Clear();
|
||||||
@ -89,4 +90,8 @@ private:
|
|||||||
float crit_damage_rate_ = 0;
|
float crit_damage_rate_ = 0;
|
||||||
float dodge_ = 0;
|
float dodge_ = 0;
|
||||||
float dodge_damage_ruduce_ = 0;
|
float dodge_damage_ruduce_ = 0;
|
||||||
|
|
||||||
|
int skill1_lv = 1;
|
||||||
|
int skill2_lv = 1;
|
||||||
|
int skill3_lv = 1;
|
||||||
};
|
};
|
||||||
|
@ -112,13 +112,13 @@ void PlayerStats::Statement(Human* sender)
|
|||||||
if (a->GetBattleContext()) {
|
if (a->GetBattleContext()) {
|
||||||
int hero_lv = 0;
|
int hero_lv = 0;
|
||||||
int quality = 0;
|
int quality = 0;
|
||||||
a->GetBattleContext()->GetHeroLvQualit(hero_lv, quality);
|
a->GetBattleContext()->GetHeroLvQuality(hero_lv, quality);
|
||||||
a_value = hero_lv + quality;
|
a_value = hero_lv + quality;
|
||||||
}
|
}
|
||||||
if (b->GetBattleContext()) {
|
if (b->GetBattleContext()) {
|
||||||
int hero_lv = 0;
|
int hero_lv = 0;
|
||||||
int quality = 0;
|
int quality = 0;
|
||||||
b->GetBattleContext()->GetHeroLvQualit(hero_lv, quality);
|
b->GetBattleContext()->GetHeroLvQuality(hero_lv, quality);
|
||||||
b_value = hero_lv + quality;
|
b_value = hero_lv + quality;
|
||||||
}
|
}
|
||||||
if (a_value == b_value) {
|
if (a_value == b_value) {
|
||||||
@ -140,13 +140,13 @@ void PlayerStats::Statement(Human* sender)
|
|||||||
if (a->GetBattleContext()) {
|
if (a->GetBattleContext()) {
|
||||||
int weapon_lv = 0;
|
int weapon_lv = 0;
|
||||||
int quality = 0;
|
int quality = 0;
|
||||||
a->GetBattleContext()->GetWeaponLvQualit(weapon_lv, quality);
|
a->GetBattleContext()->GetWeaponLvQuality(weapon_lv, quality);
|
||||||
a_value = weapon_lv + quality;
|
a_value = weapon_lv + quality;
|
||||||
}
|
}
|
||||||
if (b->GetBattleContext()) {
|
if (b->GetBattleContext()) {
|
||||||
int weapon_lv = 0;
|
int weapon_lv = 0;
|
||||||
int quality = 0;
|
int quality = 0;
|
||||||
b->GetBattleContext()->GetWeaponLvQualit(weapon_lv, quality);
|
b->GetBattleContext()->GetWeaponLvQuality(weapon_lv, quality);
|
||||||
b_value = weapon_lv + quality;
|
b_value = weapon_lv + quality;
|
||||||
}
|
}
|
||||||
if (a_value == b_value) {
|
if (a_value == b_value) {
|
||||||
|
@ -24,14 +24,10 @@ void RawTeamMember::FillMFMatchTeamMember(cs::MFMatchTeamMember* p)
|
|||||||
} else {
|
} else {
|
||||||
p->set_hero_id(msg->hero_id());
|
p->set_hero_id(msg->hero_id());
|
||||||
*p->mutable_weapons() = msg->weapons();
|
*p->mutable_weapons() = msg->weapons();
|
||||||
*p->mutable_skill_list() = msg->skill_list();
|
|
||||||
}
|
}
|
||||||
p->set_is_leader(is_leader);
|
p->set_is_leader(is_leader);
|
||||||
p->set_state(state);
|
p->set_state(state);
|
||||||
p->set_head_frame(msg->head_frame());
|
p->set_head_frame(msg->head_frame());
|
||||||
#if 0
|
|
||||||
p->set_hero_skin(msg->hero_skin());
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void RawTeamMember::InitRobot()
|
void RawTeamMember::InitRobot()
|
||||||
@ -44,30 +40,8 @@ void RawTeamMember::InitRobot()
|
|||||||
robot_meta = MetaMgr::Instance()->RandRobot(refreshed_robot_set);
|
robot_meta = MetaMgr::Instance()->RandRobot(refreshed_robot_set);
|
||||||
if (robot_meta) {
|
if (robot_meta) {
|
||||||
msg->set_avatar_url(a8::Format("%s", {50001 + (robot_meta->i->id() % 3)}));
|
msg->set_avatar_url(a8::Format("%s", {50001 + (robot_meta->i->id() % 3)}));
|
||||||
#if 1
|
|
||||||
msg->set_hero_id(30100 + 100 * (robot_meta->i->id() % 3));
|
msg->set_hero_id(30100 + 100 * (robot_meta->i->id() % 3));
|
||||||
#else
|
|
||||||
msg->set_hero_id(robot_meta->i->hero_id());
|
|
||||||
#endif
|
|
||||||
msg->set_name(robot_meta->i->name());
|
msg->set_name(robot_meta->i->name());
|
||||||
#if 0
|
|
||||||
auto skin = msg->add_skins();
|
|
||||||
if (!robot_meta->skin_id.empty()) {
|
|
||||||
skin->set_skin_id(robot_meta->skin_id[0]);
|
|
||||||
skin->set_skin_lv(1);
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
#if 0
|
|
||||||
{
|
|
||||||
MetaData::Player* hero_meta = MetaMgr::Instance()->GetPlayer(msg->hero_id());
|
|
||||||
if (hero_meta) {
|
|
||||||
MetaData::Item* skin_meta = MetaMgr::Instance()->GetHeroSkin(msg->hero_id());
|
|
||||||
if (skin_meta) {
|
|
||||||
msg->set_hero_skin(skin_meta->i->id());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
} else {
|
} else {
|
||||||
A8_ABORT();
|
A8_ABORT();
|
||||||
}
|
}
|
||||||
@ -129,7 +103,6 @@ void MatchTeam::_CMMatchChoose(f8::MsgHdr& hdr, const cs::CMMatchChoose& msg)
|
|||||||
member->msg->set_hero_id(msg.hero_id());
|
member->msg->set_hero_id(msg.hero_id());
|
||||||
member->msg->set_hero_uniid(msg.hero_uniid());
|
member->msg->set_hero_uniid(msg.hero_uniid());
|
||||||
*member->msg->mutable_weapons() = msg.weapons();
|
*member->msg->mutable_weapons() = msg.weapons();
|
||||||
*member->msg->mutable_skill_list() = msg.skill_list();
|
|
||||||
++member->choose_hero_times;
|
++member->choose_hero_times;
|
||||||
#ifdef DEBUG
|
#ifdef DEBUG
|
||||||
a8::XPrintf("matchchoose %s\n", {member->msg->account_id()});
|
a8::XPrintf("matchchoose %s\n", {member->msg->account_id()});
|
||||||
|
@ -646,11 +646,12 @@ void Player::HumanInteraction(Human* hum)
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Player::ProcSkillList(const ::google::protobuf::RepeatedPtrField< cs::MFPair >&
|
void Player::ProcSkillList()
|
||||||
skill_list)
|
|
||||||
{
|
{
|
||||||
for (auto& pair : skill_list) {
|
std::vector<int> skill_list;
|
||||||
AddSkill(pair.key());
|
GetBattleContext()->GetSkillList(skill_list);
|
||||||
|
for (auto& skill_id : skill_list) {
|
||||||
|
AddSkill(skill_id);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -100,8 +100,7 @@ class Player : public Human
|
|||||||
void ObstacleInteraction(Obstacle* entity);
|
void ObstacleInteraction(Obstacle* entity);
|
||||||
void HumanInteraction(Human* hum);
|
void HumanInteraction(Human* hum);
|
||||||
void ProcPreSettlementInfo(const std::string& pre_settlement_info);
|
void ProcPreSettlementInfo(const std::string& pre_settlement_info);
|
||||||
void ProcSkillList(const ::google::protobuf::RepeatedPtrField< cs::MFPair >&
|
void ProcSkillList();
|
||||||
skill_list);
|
|
||||||
void PushJoinRoomMsg();
|
void PushJoinRoomMsg();
|
||||||
|
|
||||||
void _CMReconnect(f8::MsgHdr& hdr, const cs::CMReconnect& msg);
|
void _CMReconnect(f8::MsgHdr& hdr, const cs::CMReconnect& msg);
|
||||||
|
@ -4066,7 +4066,7 @@ void Room::AddTeam(class MatchTeam* team)
|
|||||||
|
|
||||||
hum->SetBattleContext(member->battle_context);
|
hum->SetBattleContext(member->battle_context);
|
||||||
hum->GetBattleContext()->Init(hum);
|
hum->GetBattleContext()->Init(hum);
|
||||||
hum->ProcSkillList(msg.skill_list());
|
hum->ProcSkillList();
|
||||||
hum->SetHP(hum->GetBattleContext()->GetMaxHP());
|
hum->SetHP(hum->GetBattleContext()->GetMaxHP());
|
||||||
hum->SetMaxHP(hum->GetHP());
|
hum->SetMaxHP(hum->GetHP());
|
||||||
PlayerMgr::Instance()->IncAccountNum(msg.account_id());
|
PlayerMgr::Instance()->IncAccountNum(msg.account_id());
|
||||||
|
@ -205,7 +205,7 @@ void RoomMgr::_CMJoin(f8::MsgHdr& hdr, const cs::CMJoin& msg)
|
|||||||
room->AddPlayer(hum);
|
room->AddPlayer(hum);
|
||||||
hum->SetBattleContext(results.at(0));
|
hum->SetBattleContext(results.at(0));
|
||||||
hum->GetBattleContext()->Init(hum);
|
hum->GetBattleContext()->Init(hum);
|
||||||
hum->ProcSkillList(msg.skill_list());
|
hum->ProcSkillList();
|
||||||
hum->SetHP(hum->GetBattleContext()->GetMaxHP());
|
hum->SetHP(hum->GetBattleContext()->GetMaxHP());
|
||||||
hum->SetMaxHP(hum->GetHP());
|
hum->SetMaxHP(hum->GetHP());
|
||||||
PlayerMgr::Instance()->IncAccountNum(msg.account_id());
|
PlayerMgr::Instance()->IncAccountNum(msg.account_id());
|
||||||
|
@ -818,7 +818,6 @@ message MFMatchTeamMember
|
|||||||
optional string avatar_url = 3; //头像
|
optional string avatar_url = 3; //头像
|
||||||
optional int32 hero_id = 4; //英雄id
|
optional int32 hero_id = 4; //英雄id
|
||||||
repeated MFWeapon weapons = 5; //武器列表
|
repeated MFWeapon weapons = 5; //武器列表
|
||||||
repeated MFPair skill_list = 7; //技能列表 key:技能id value:预留给之后扩展,目前传0就行
|
|
||||||
optional bool is_leader = 8; //是否队长
|
optional bool is_leader = 8; //是否队长
|
||||||
optional int32 state = 9; //0:准备 1:已准备
|
optional int32 state = 9; //0:准备 1:已准备
|
||||||
optional int32 head_frame = 10; //头像框
|
optional int32 head_frame = 10; //头像框
|
||||||
@ -870,7 +869,6 @@ message CMJoin
|
|||||||
repeated MFTeamMember team_members = 51; //包括自己
|
repeated MFTeamMember team_members = 51; //包括自己
|
||||||
optional int32 room_mode = 52; //0:吃鸡模式 1:歼灭模式 2:生存模式
|
optional int32 room_mode = 52; //0:吃鸡模式 1:歼灭模式 2:生存模式
|
||||||
optional int32 mapid = 53; //地图id 0:随机地图
|
optional int32 mapid = 53; //地图id 0:随机地图
|
||||||
repeated MFPair skill_list = 54; //技能列表 key:技能id value:预留给之后扩展,目前传0就行
|
|
||||||
optional string user_data = 60 [default = ""]; //用户自定义数据
|
optional string user_data = 60 [default = ""]; //用户自定义数据
|
||||||
optional int32 hero_id = 61; //英雄id
|
optional int32 hero_id = 61; //英雄id
|
||||||
optional string hero_uniid = 71; //英雄唯一id
|
optional string hero_uniid = 71; //英雄唯一id
|
||||||
|
@ -248,6 +248,9 @@ message Player
|
|||||||
optional float miss = 57;
|
optional float miss = 57;
|
||||||
optional float miss_damage_ruduce = 58;
|
optional float miss_damage_ruduce = 58;
|
||||||
|
|
||||||
|
optional int32 skill1list = 60;
|
||||||
|
optional int32 skill2list = 61;
|
||||||
|
optional int32 skill3list = 62;
|
||||||
}
|
}
|
||||||
|
|
||||||
message Robot
|
message Robot
|
||||||
|
Loading…
x
Reference in New Issue
Block a user