mirror of
https://github.com/mangosfour/server.git
synced 2025-12-15 19:37:02 +00:00
[10245] Allow have custom starting area team/personal rating.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
This commit is contained in:
parent
40ec688b2c
commit
384915b0d0
5 changed files with 41 additions and 11 deletions
|
|
@ -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 );
|
||||||
|
|
|
||||||
|
|
@ -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);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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__
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue