[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_week = 0;
m_stats.games_season = 0; m_stats.games_season = 0;
m_stats.rank = 0; m_stats.rank = 0;
if (sWorld.getConfig(CONFIG_UINT32_ARENA_SEASON_ID) >= 6)
m_stats.rating = 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 else
m_stats.rating = 1500; m_stats.rating = uint32(conf_value);
m_stats.wins_week = 0; m_stats.wins_week = 0;
m_stats.wins_season = 0; m_stats.wins_season = 0;
} }
@ -134,17 +142,25 @@ bool ArenaTeam::AddMember(const uint64& PlayerGuid)
newmember.games_week = 0; newmember.games_week = 0;
newmember.wins_season = 0; newmember.wins_season = 0;
newmember.wins_week = 0; newmember.wins_week = 0;
if (sWorld.getConfig(CONFIG_UINT32_ARENA_SEASON_ID) >= 6)
int32 conf_value = sWorld.getConfig(CONFIG_INT32_ARENA_STARTPERSONALRATING);
if (conf_value < 0) // -1 = select by season id
{ {
if (m_stats.rating < 1000) if (sWorld.getConfig(CONFIG_UINT32_ARENA_SEASON_ID) >= 6)
newmember.personal_rating = 0; {
if (m_stats.rating < 1000)
newmember.personal_rating = 0;
else
newmember.personal_rating = 1000;
}
else else
newmember.personal_rating = 1000; {
newmember.personal_rating = 1500;
}
} }
else else
{ newmember.personal_rating = uint32(conf_value);
newmember.personal_rating = 1500;
}
m_members.push_back(newmember); 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 ); 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_BOOL_ARENA_QUEUE_ANNOUNCER_EXIT, "Arena.QueueAnnouncer.Exit", false);
setConfig(CONFIG_UINT32_ARENA_SEASON_ID, "Arena.ArenaSeason.ID", 1); setConfig(CONFIG_UINT32_ARENA_SEASON_ID, "Arena.ArenaSeason.ID", 1);
setConfig(CONFIG_BOOL_ARENA_SEASON_IN_PROGRESS, "Arena.ArenaSeason.InProgress", true); 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); setConfig(CONFIG_BOOL_OFFHAND_CHECK_AT_TALENTS_RESET, "OffhandCheckAtTalentsReset", false);

View file

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

View file

@ -1408,6 +1408,14 @@ BattleGround.PremadeGroupWaitForMatch = 1800000
# Default: 1 (active) # Default: 1 (active)
# 0 (finished) # 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 Arena.MaxRatingDifference = 150
@ -1418,6 +1426,8 @@ Arena.QueueAnnouncer.Join = 0
Arena.QueueAnnouncer.Exit = 0 Arena.QueueAnnouncer.Exit = 0
Arena.ArenaSeason.ID = 1 Arena.ArenaSeason.ID = 1
Arena.ArenaSeason.InProgress = 1 Arena.ArenaSeason.InProgress = 1
Arena.StartRating = -1
Arena.StartPersonalRating = -1
################################################################################################################### ###################################################################################################################
# NETWORK CONFIG # NETWORK CONFIG

View file

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