if( pGroup->GetGroupType() == GROUP_TYPE_PARTY)
{
if(active_player_count==3)
xp_mod=1.1666f;
else if(active_player_count==4)
xp_mod=1.3f;
else if(active_player_count==5)
xp_mod=1.4f;
else xp_mod=1;//in case we have only 2 members

}
else if(pGroup->GetGroupType() == GROUP_TYPE_RAID)
xp_mod=0.5f;
if(pHighLvlPlayer == 0)
{
PlayerInfo * pleaderinfo = pGroup->GetLeader();
if(!pleaderinfo->m_loggedInPlayer)
return;
pHighLvlPlayer = pleaderinfo->m_loggedInPlayer;
}
xp = CalculateXpToGive(pVictim, pHighLvlPlayer);
//i'm not sure about this formula is correct or not. Maybe some brackets are wrong placed ?
for(int i=0;i<active_player_count;i++)
active_player_list[i]->GiveXP( float2int32(
((xp*active_player_list[i]->getLevel()) / total_level)*xp_mod), pVictim->GetGUID(), true );