[10245] Allow have custom starting area team/personal rating.

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
This commit is contained in:
fdb_ 2010-07-22 10:23:04 +04:00 committed by VladimirMangos
parent 40ec688b2c
commit 384915b0d0
5 changed files with 41 additions and 11 deletions

View file

@ -36,10 +36,18 @@ ArenaTeam::ArenaTeam()
m_stats.games_week = 0;
m_stats.games_season = 0;
m_stats.rank = 0;
int32 conf_value = sWorld.getConfig(CONFIG_INT32_ARENA_STARTRATING);
if (conf_value < 0) // -1 = select by season id
{
if (sWorld.getConfig(CONFIG_UINT32_ARENA_SEASON_ID) >= 6)
m_stats.rating = 0;
else
m_stats.rating = 1500;
}
else
m_stats.rating = uint32(conf_value);
m_stats.wins_week = 0;
m_stats.wins_season = 0;
}
@ -134,6 +142,10 @@ bool ArenaTeam::AddMember(const uint64& PlayerGuid)
newmember.games_week = 0;
newmember.wins_season = 0;
newmember.wins_week = 0;
int32 conf_value = sWorld.getConfig(CONFIG_INT32_ARENA_STARTPERSONALRATING);
if (conf_value < 0) // -1 = select by season id
{
if (sWorld.getConfig(CONFIG_UINT32_ARENA_SEASON_ID) >= 6)
{
if (m_stats.rating < 1000)
@ -145,6 +157,10 @@ bool ArenaTeam::AddMember(const uint64& PlayerGuid)
{
newmember.personal_rating = 1500;
}
}
else
newmember.personal_rating = uint32(conf_value);
m_members.push_back(newmember);
CharacterDatabase.PExecute("INSERT INTO arena_team_member (arenateamid, guid, personal_rating) VALUES ('%u', '%u', '%u')", m_TeamId, GUID_LOPART(newmember.guid), newmember.personal_rating );

View file

@ -730,6 +730,8 @@ void World::LoadConfigSettings(bool reload)
setConfig(CONFIG_BOOL_ARENA_QUEUE_ANNOUNCER_EXIT, "Arena.QueueAnnouncer.Exit", false);
setConfig(CONFIG_UINT32_ARENA_SEASON_ID, "Arena.ArenaSeason.ID", 1);
setConfig(CONFIG_BOOL_ARENA_SEASON_IN_PROGRESS, "Arena.ArenaSeason.InProgress", true);
setConfigMin(CONFIG_INT32_ARENA_STARTRATING, "Arena.StartRating", -1, -1);
setConfigMin(CONFIG_INT32_ARENA_STARTPERSONALRATING, "Arena.StartPersonalRating", -1, -1);
setConfig(CONFIG_BOOL_OFFHAND_CHECK_AT_TALENTS_RESET, "OffhandCheckAtTalentsReset", false);

View file

@ -189,6 +189,8 @@ enum eConfigUInt32Values
enum eConfigInt32Values
{
CONFIG_INT32_DEATH_SICKNESS_LEVEL = 0,
CONFIG_INT32_ARENA_STARTRATING,
CONFIG_INT32_ARENA_STARTPERSONALRATING,
CONFIG_INT32_VALUE_COUNT
};

View file

@ -1408,6 +1408,14 @@ BattleGround.PremadeGroupWaitForMatch = 1800000
# Default: 1 (active)
# 0 (finished)
#
# Arena.StartRating
# Default Rating at team creation
# Default: -1 (use season dependent default value)
#
# Arena.StartPersonalRating
# Default Personal Rating at team creation
# Default: -1 (use season dependent default value)
#
###################################################################################################################
Arena.MaxRatingDifference = 150
@ -1418,6 +1426,8 @@ Arena.QueueAnnouncer.Join = 0
Arena.QueueAnnouncer.Exit = 0
Arena.ArenaSeason.ID = 1
Arena.ArenaSeason.InProgress = 1
Arena.StartRating = -1
Arena.StartPersonalRating = -1
###################################################################################################################
# NETWORK CONFIG

View file

@ -1,4 +1,4 @@
#ifndef __REVISION_NR_H__
#define __REVISION_NR_H__
#define REVISION_NR "10244"
#define REVISION_NR "10245"
#endif // __REVISION_NR_H__