ArenaTeam::ArenaTeam(Field * f) { uint32 z = 0, i, guid; const char * data; int ret; m_id = f[z++].GetUInt32(); m_type = f[z++].GetUInt32(); m_leader = f[z++].GetUInt32(); m_name = f[z++].GetString(); m_emblemStyle = f[z++].GetUInt32(); m_emblemColour = f[z++].GetUInt32(); m_borderStyle = f[z++].GetUInt32(); m_borderColour = f[z++].GetUInt32(); m_backgroundColour = f[z++].GetUInt32(); m_stat_rating = f[z++].GetUInt32(); if( m_stat_rating > ARENA_TEAM_MAX_RATING ) //bug introduced at some point m_stat_rating = ARENA_TEAM_START_RATING; else if( m_stat_rating < ARENA_TEAM_MIN_RATING ) m_stat_rating = ARENA_TEAM_MIN_RATING; AllocateSlots(m_type); m_stat_gamesplayedweek = 0; m_stat_gamesplayedseason = 0; m_stat_gameswonseason = 0; m_stat_gameswonweek = 0; sscanf(f[z++].GetString(), "%u %u %u %u", &m_stat_gamesplayedweek, &m_stat_gameswonweek, &m_stat_gamesplayedseason, &m_stat_gameswonseason); m_stat_ranking = f[z++].GetUInt32(); for(i = 0; i < m_slots; ++i) { data = f[z++].GetString(); ret = sscanf(data, "%u %u %u %u %u %u", &guid, &m_members[i].Played_ThisWeek, &m_members[i].Won_ThisWeek, &m_members[i].Played_ThisSeason, &m_members[i].Won_ThisSeason, &m_members[i].PersonalRating); if(ret >= 5) { m_members[i].Info = objmgr.GetPlayerInfo(guid); if( m_members[i].Info ) { if( m_members[i].Info->lastOnline + 2 * MONTHLY > UNIXTIME ) ++m_memberCount; else m_members[i].Info = NULL; } if (ret == 5) { // In case PersonalRating is not in the string just set the rating to the team rating m_members[i].PersonalRating = m_stat_rating; if( m_members[i].PersonalRating > ARENA_TEAM_MAX_RATING ) //bug introduced at some point m_members[i].PersonalRating = ARENA_PERSONAL_START_RATING; else if( m_members[i].PersonalRating < ARENA_PERSONAL_MIN_RATING ) m_members[i].PersonalRating = ARENA_PERSONAL_MIN_RATING; } } else m_members[i].Info = NULL; } }
ArenaTeam::ArenaTeam(Field * f) { uint32 z = 0, i, guid; const char * data; int ret; m_id = f[z++].GetUInt32(); m_type = f[z++].GetUInt32(); m_leader = f[z++].GetUInt32(); m_name = f[z++].GetString(); m_emblemStyle = f[z++].GetUInt32(); m_emblemColour = f[z++].GetUInt32(); m_borderStyle = f[z++].GetUInt32(); m_borderColour = f[z++].GetUInt32(); m_backgroundColour = f[z++].GetUInt32(); m_stat_rating = f[z++].GetUInt32(); AllocateSlots(m_type); m_stat_gamesplayedweek = 0; m_stat_gamesplayedseason = 0; m_stat_gameswonseason = 0; m_stat_gameswonweek = 0; sscanf(f[z++].GetString(), "%u %u %u %u", &m_stat_gamesplayedweek, &m_stat_gameswonweek, &m_stat_gamesplayedseason, &m_stat_gameswonseason); m_stat_ranking = f[z++].GetUInt32(); for(i = 0; i < m_slots; ++i) { data = f[z++].GetString(); ret = sscanf(data, "%u %u %u %u %u %u", &guid, &m_members[i].Played_ThisWeek, &m_members[i].Won_ThisWeek, &m_members[i].Played_ThisSeason, &m_members[i].Won_ThisSeason, &m_members[i].PersonalRating); if(ret >= 5) { m_members[i].Info = objmgr.GetPlayerInfo(guid); if(m_members[i].Info) { m_members[i].Info->arenaTeam[m_type] = this; ++m_memberCount; } if (ret == 5) { // In case PersonalRating is not in the string just set the rating to the team rating m_members[i].PersonalRating = m_stat_rating; } } else m_members[i].Info = NULL; } }
ArenaTeam::ArenaTeam(uint32 Type, uint32 Id) { m_id = Id; m_type = Type; AllocateSlots(Type); m_leader = 0; m_emblemStyle = 0; m_emblemColour = 0; m_borderColour = 0; m_borderStyle = 0; m_backgroundColour = 0; m_stat_rating = 1500; m_stat_gamesplayedweek = 0; m_stat_gamesplayedseason = 0; m_stat_gameswonseason = 0; m_stat_gameswonweek = 0; m_stat_ranking = 0; }
ArenaTeam::ArenaTeam(Field * f) { uint32 z = 0, i, guid; const char * data; m_id = f[z++].GetUInt32(); m_type = f[z++].GetUInt32(); m_leader = f[z++].GetUInt32(); m_name = f[z++].GetString(); m_emblemStyle = f[z++].GetUInt32(); m_emblemColour = f[z++].GetUInt32(); m_borderStyle = f[z++].GetUInt32(); m_borderColour = f[z++].GetUInt32(); m_backgroundColour = f[z++].GetUInt32(); m_stat_rating = f[z++].GetUInt32(); AllocateSlots(m_type); m_stat_gamesplayedweek = 0; m_stat_gamesplayedseason = 0; m_stat_gameswonseason = 0; m_stat_gameswonweek = 0; sscanf(f[z++].GetString(), "%u %u %u %u", &m_stat_gamesplayedweek, &m_stat_gameswonweek, &m_stat_gamesplayedseason, &m_stat_gameswonseason); m_stat_ranking = f[z++].GetUInt32(); for(i = 0; i < m_slots; ++i) { data = f[z++].GetString(); if(sscanf(data, "%u %u %u %u %u", &guid, &m_members[i].Played_ThisWeek, &m_members[i].Won_ThisWeek, &m_members[i].Played_ThisSeason, &m_members[i].Won_ThisSeason) == 5) { m_members[i].Info = objmgr.GetPlayerInfo(guid); if(m_members[i].Info) { m_members[i].Info->arenaTeam[m_type] = this; ++m_memberCount; } } else m_members[i].Info = NULL; } m_queueSearchRange = 100; }