Core/Packets: fixed structure of SMSG_RATED_BG_STATS, corrected namings for conquest points related fields in SMSG_BATTLEFIELD_RATED_INFO and feed them with correct infos to match sniff research results

This commit is contained in:
Ovahlord committed 2020-11-02 21:28:36 +01:00
1 parent 251f147efb
commit 8f88ac6293
4 files changed
+14 -15

No files matched your search

@@ -810,15 +810,15 @@ void WorldSession::HandleRequestRatedBgInfo(WorldPacket & recvData)
recvData >> unk;
TC_LOG_DEBUG("bg.battleground", "WorldSession::HandleRequestRatedBgInfo: unk = %u", unk);
uint8 ratedBattlegroundActive = sWorld->getBoolConfig(CONFIG_RATED_BATTLEGROUND_ENABLE);
uint8 ratedBattlegroundActive = sWorld->getIntConfig(CONFIG_RATED_BATTLEGROUND_ENABLE);
int32 ratedBattlegroundReward = sWorld->getIntConfig(CONFIG_RATED_BATTLEGROUND_REWARD) / CURRENCY_PRECISION;
WorldPackets::Battleground::BattlefieldRatedInfo packet;
packet.Unk = unk;
packet.Reward = ratedBattlegroundReward;
packet.RewardWeeklyLimit = _player->GetCurrencyWeekCap(CURRENCY_TYPE_CONQUEST_META_RBG, true);
packet.PurseQuantity = _player->GetCurrency(CURRENCY_TYPE_CONQUEST_POINTS, true);
packet.RatedMaxRewardPointsThisWeek = _player->GetCurrencyWeekCap(CURRENCY_TYPE_CONQUEST_META_RBG, true);
packet.MaxRewardPointsThisWeek = _player->GetCurrencyWeekCap(CURRENCY_TYPE_CONQUEST_POINTS, true);
SendPacket(packet.Write());
@@ -33,14 +33,17 @@ WorldPacket const* WorldPackets::Battleground::RatedBattlefieldInfo::Write()
_worldPacket << int32(Brackets[2].WeeklyWon); // BgWeeklyWins25vs25
_worldPacket << int32(Brackets[2].WeeklyPlayed); // BgWeeklyPlayed25vs25
_worldPacket << int32(Brackets[1].WeeklyPlayed); // BgWeeklyPlayed15vs15
_worldPacket << int32(0);
_worldPacket << int32(0); // 3
_worldPacket << int32(Brackets[0].WeeklyWon); // BgWeeklyWins10vs10
_worldPacket << int32(0);
_worldPacket << int32(0);
_worldPacket << int32(0); // 3
_worldPacket << int32(0); // 4
_worldPacket << int32(0);
_worldPacket << int32(Brackets[1].WeeklyWon); // BgWeeklyWins15vs15
_worldPacket << int32(0);
_worldPacket << int32(0); // 4
_worldPacket << int32(0);
_worldPacket << int32(0); // 3
_worldPacket << int32(0); // 4
_worldPacket << int32(0);
_worldPacket << int32(Brackets[0].WeeklyPlayed); // BgWeeklyPlayed10vs10
_worldPacket << int32(0);
@@ -54,10 +57,10 @@ WorldPacket const* WorldPackets::Battleground::BattlefieldRatedInfo::Write()
_worldPacket << int8(Unk);
_worldPacket << int32(PersonalRating);
_worldPacket << int32(0);
_worldPacket << int32(RewardWeeklyLimit);
_worldPacket << int32(RatedMaxRewardPointsThisWeek); // this and MaxRewardPointsThisWeek are weekly conquest limits but not sure which one is for rated BGs
_worldPacket << int32(0);
_worldPacket << int32(0);
_worldPacket << int32(PurseQuantity);
_worldPacket << int32(MaxRewardPointsThisWeek);
return &_worldPacket;
}
@@ -66,11 +69,9 @@ WorldPacket const* WorldPackets::Battleground::BattlefieldList::Write()
{
_worldPacket << int32(ConquestBonusHoliday);
_worldPacket << int32(ConquestBonusRandom);
_worldPacket << int32(HonorBonusHolidayLoss);
_worldPacket << int32(BattlemasterListID);
_worldPacket << int32(HonorBonusRandomLoss);
_worldPacket << int32(HonorBonusRandomWin);
_worldPacket << int32(HonorBonusHolidayWin);
_worldPacket << uint8(MaxLevel);
@@ -79,11 +80,9 @@ WorldPacket const* WorldPackets::Battleground::BattlefieldList::Write()
_worldPacket.WriteBit(BattlemasterGuid[0]);
_worldPacket.WriteBit(BattlemasterGuid[1]);
_worldPacket.WriteBit(BattlemasterGuid[7]);
_worldPacket.WriteBit(HasHolidayWinToday);
_worldPacket.WriteBit(HasRandomWinToday);
_worldPacket.WriteBits(Battlefields.size(), 24);
_worldPacket.WriteBit(BattlemasterGuid[6]);
_worldPacket.WriteBit(BattlemasterGuid[4]);
_worldPacket.WriteBit(BattlemasterGuid[2]);
@@ -62,8 +62,8 @@ namespace WorldPackets
int32 Reward = 0;
int32 PersonalRating = 0;
int32 RewardWeeklyLimit = 0;
int32 PurseQuantity = 0;
int32 RatedMaxRewardPointsThisWeek = 0;
int32 MaxRewardPointsThisWeek = 0;
int8 Unk = 0; // Same value as in cmsg
};
+1 -1
View File
@@ -134,7 +134,6 @@ enum WorldBoolConfigs
CONFIG_BATTLEGROUND_STORE_STATISTICS_ENABLE,
CONFIG_BATTLEGROUND_TRACK_DESERTERS,
CONFIG_BG_XP_FOR_KILL,
CONFIG_RATED_BATTLEGROUND_ENABLE,
CONFIG_ARENA_QUEUE_ANNOUNCER_ENABLE,
CONFIG_ARENA_SEASON_IN_PROGRESS,
CONFIG_ARENA_LOG_EXTENDED_INFO,
@@ -418,6 +417,7 @@ enum WorldIntConfigs
CONFIG_RESPAWN_DYNAMICMINIMUM_CREATURE,
CONFIG_RESPAWN_DYNAMICMINIMUM_GAMEOBJECT,
CONFIG_RESPAWN_GUIDWARNING_FREQUENCY,
CONFIG_RATED_BATTLEGROUND_ENABLE,
INT_CONFIG_VALUE_COUNT
};