mirror of
https://github.com/mangosfour/server.git
synced 2025-12-18 01:37:01 +00:00
[11351] Calculate avg. personal rating in more correct way.
This commit is contained in:
parent
0912c17cee
commit
e605b203e2
2 changed files with 8 additions and 6 deletions
|
|
@ -700,16 +700,18 @@ void WorldSession::HandleBattlemasterJoinArena( WorldPacket & recv_data )
|
|||
// the arena team id must match for everyone in the group
|
||||
// get the personal ratings for queue
|
||||
uint32 avg_pers_rating = 0;
|
||||
for(GroupReference *itr = grp->GetFirstMember(); itr != NULL; itr = itr->next())
|
||||
|
||||
for(Group::member_citerator citr = grp->GetMemberSlots().begin(); citr != grp->GetMemberSlots().end(); ++citr)
|
||||
{
|
||||
Player *member = itr->getSource();
|
||||
ArenaTeamMember const* at_member = at->GetMember(citr->guid);
|
||||
if (!at_member) // group member joining to arena must be in leader arena team
|
||||
return;
|
||||
|
||||
// calc avg personal rating
|
||||
avg_pers_rating += member->GetArenaPersonalRating(arenaslot);
|
||||
avg_pers_rating += at_member->personal_rating;
|
||||
}
|
||||
|
||||
if (arenatype)
|
||||
avg_pers_rating /= arenatype;
|
||||
avg_pers_rating /= grp->GetMembersCount();
|
||||
|
||||
// if avg personal rating is more than 150 points below the teams rating, the team will be queued against an opponent matching or similar to the average personal rating
|
||||
if (avg_pers_rating + 150 < arenaRating)
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
#ifndef __REVISION_NR_H__
|
||||
#define __REVISION_NR_H__
|
||||
#define REVISION_NR "11350"
|
||||
#define REVISION_NR "11351"
|
||||
#endif // __REVISION_NR_H__
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue