From 792e636a32ed194adf6bc77d366e9ce01aed4cfd Mon Sep 17 00:00:00 2001 From: Shocker Date: Wed, 14 Nov 2012 23:41:32 +0200 Subject: Core/Config: Implement CONFIG_MAX_JUSTICE_POINTS and CONFIG_START_JUSTICE_POINTS options --- src/server/game/Entities/Player/Player.cpp | 1 + src/server/game/World/World.cpp | 21 +++++++++++++++++++++ src/server/worldserver/worldserver.conf.dist | 14 ++++++++++++++ 3 files changed, 36 insertions(+) (limited to 'src') diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index a94346ec7ab..80b17683cf2 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -1018,6 +1018,7 @@ bool Player::Create(uint32 guidlow, CharacterCreateInfo* createInfo) SetUInt32Value(PLAYER_FIELD_COINAGE, sWorld->getIntConfig(CONFIG_START_PLAYER_MONEY)); SetCurrency(CURRENCY_TYPE_HONOR_POINTS, sWorld->getIntConfig(CONFIG_START_HONOR_POINTS)); + SetCurrency(CURRENCY_TYPE_JUSTICE_POINTS, sWorld->getIntConfig(CONFIG_START_JUSTICE_POINTS)); SetCurrency(CURRENCY_TYPE_CONQUEST_POINTS, sWorld->getIntConfig(CONFIG_START_ARENA_POINTS)); // start with every map explored diff --git a/src/server/game/World/World.cpp b/src/server/game/World/World.cpp index dc64c607c62..e2cc4ff2c43 100644 --- a/src/server/game/World/World.cpp +++ b/src/server/game/World/World.cpp @@ -803,6 +803,27 @@ void World::LoadConfigSettings(bool reload) m_int_configs[CONFIG_START_HONOR_POINTS] = m_int_configs[CONFIG_MAX_HONOR_POINTS]; } + m_int_configs[CONFIG_MAX_JUSTICE_POINTS] = ConfigMgr::GetIntDefault("MaxJusticePoints", 400000); + if (int32(m_int_configs[CONFIG_MAX_JUSTICE_POINTS]) < 0) + { + sLog->outError(LOG_FILTER_SERVER_LOADING, "MaxJusticePoints (%i) can't be negative. Set to 0.", m_int_configs[CONFIG_MAX_JUSTICE_POINTS]); + m_int_configs[CONFIG_MAX_JUSTICE_POINTS] = 0; + } + + m_int_configs[CONFIG_START_JUSTICE_POINTS] = ConfigMgr::GetIntDefault("StartJusticePoints", 0); + if (int32(m_int_configs[CONFIG_START_JUSTICE_POINTS]) < 0) + { + sLog->outError(LOG_FILTER_SERVER_LOADING, "StartJusticePoints (%i) must be in range 0..MaxJusticePoints(%u). Set to %u.", + m_int_configs[CONFIG_START_JUSTICE_POINTS], m_int_configs[CONFIG_MAX_JUSTICE_POINTS], 0); + m_int_configs[CONFIG_START_JUSTICE_POINTS] = 0; + } + else if (m_int_configs[CONFIG_START_JUSTICE_POINTS] > m_int_configs[CONFIG_MAX_JUSTICE_POINTS]) + { + sLog->outError(LOG_FILTER_SERVER_LOADING, "StartJusticePoints (%i) must be in range 0..MaxJusticePoints(%u). Set to %u.", + m_int_configs[CONFIG_START_JUSTICE_POINTS], m_int_configs[CONFIG_MAX_JUSTICE_POINTS], m_int_configs[CONFIG_MAX_JUSTICE_POINTS]); + m_int_configs[CONFIG_START_JUSTICE_POINTS] = m_int_configs[CONFIG_MAX_JUSTICE_POINTS]; + } + m_int_configs[CONFIG_MAX_ARENA_POINTS] = ConfigMgr::GetIntDefault("MaxArenaPoints", 10000); if (int32(m_int_configs[CONFIG_MAX_ARENA_POINTS]) < 0) { diff --git a/src/server/worldserver/worldserver.conf.dist b/src/server/worldserver/worldserver.conf.dist index 650695a1397..217daeeca6a 100644 --- a/src/server/worldserver/worldserver.conf.dist +++ b/src/server/worldserver/worldserver.conf.dist @@ -792,6 +792,20 @@ MaxHonorPoints = 75000 StartHonorPoints = 0 +# +# MaxJusticePoints +# Description: Maximum justice points a character can have. +# Default: 400000 + +MaxJusticePoints = 400000 + +# +# StartJusticePoints +# Description: Amount of justice points that characters have after creation. +# Default: 0 + +StartJusticePoints = 0 + # # MaxArenaPoints # Description: Maximum arena points a character can have. -- cgit v1.2.3