diff --git a/server/gameserver/netdata.cc b/server/gameserver/netdata.cc index 4ad7bf88..f34db4fa 100644 --- a/server/gameserver/netdata.cc +++ b/server/gameserver/netdata.cc @@ -429,6 +429,7 @@ void BattleDataContext::ParseResult(a8::XObject& obj) revive_coin_ = obj.Get("revive_coin"); match_mode_ = obj.Get("match_mode"); rank_ = obj.Get("rank"); + current_get_star_ = obj.Get("current_get_star"); } level_ = obj.HasKey("level") ? obj.Get("level").GetInt() : 1; skin_id_ = obj.HasKey("hero_skin") ? obj.Get("hero_skin").GetInt() : 0; @@ -1063,3 +1064,8 @@ int BattleDataContext::GetRank() { return rank_; } + +int BattleDataContext::GetCurrentGetStar() +{ + return current_get_star_; +} diff --git a/server/gameserver/netdata.h b/server/gameserver/netdata.h index 5aa3ffc4..9a5ce717 100644 --- a/server/gameserver/netdata.h +++ b/server/gameserver/netdata.h @@ -83,6 +83,7 @@ struct BattleDataContext int GetLevel(); int GetHeroLevel(); bool IsMainSkill(Skill* skill); + int GetCurrentGetStar(); private: void Clear(); @@ -111,6 +112,8 @@ private: int level_ = 0; int hero_lv_ = 0; + int current_get_star_ = 0; + int skill1_lv = 1; int skill2_lv = 1; int skill3_lv = 1; diff --git a/server/gameserver/pbutils.cc b/server/gameserver/pbutils.cc index 628ed46b..759785bc 100644 --- a/server/gameserver/pbutils.cc +++ b/server/gameserver/pbutils.cc @@ -1542,6 +1542,10 @@ void Human::SendGameOver() SendNotifyMsg(msg); } else { CalcStats(); + if (IsPlayer() && !sent_personal_report_) { + SendPersonalBattleReport(); + sent_personal_report_ = true; + } if (GetTeam()->team_rank) { if (!GetTeam()->sending_battlereport) { GetTeam()->sending_battlereport = true; @@ -1552,10 +1556,6 @@ void Human::SendGameOver() FillSMGameOver(msg); SendNotifyMsg(msg); } - if (IsPlayer() && !sent_personal_report_) { - SendPersonalBattleReport(); - sent_personal_report_ = true; - } } } if (IsEntitySubType(EST_Player)) { diff --git a/server/gameserver/stats.h b/server/gameserver/stats.h index 52e084b7..5efb07d5 100644 --- a/server/gameserver/stats.h +++ b/server/gameserver/stats.h @@ -134,6 +134,7 @@ class PlayerStats double survival_topx = 0; HeroStatsPb pb_hero_stats; std::vector pb_weapons_stats; + int star_num = 0; WeaponStats& MustBeWeapon(int weapon_id); void IncWeaponKills(int weapon_id, int val);