diff options
author | Shocker <shocker@freakz.ro> | 2012-11-14 23:41:32 +0200 |
---|---|---|
committer | Shocker <shocker@freakz.ro> | 2012-11-14 23:41:32 +0200 |
commit | 792e636a32ed194adf6bc77d366e9ce01aed4cfd (patch) | |
tree | 2c75e9f9d573c69e8b21e831705ee0d5a250f52d | |
parent | 967068d81ac42609d5d3990f52dc3714a1266571 (diff) |
Core/Config: Implement CONFIG_MAX_JUSTICE_POINTS and CONFIG_START_JUSTICE_POINTS options
-rw-r--r-- | src/server/game/Entities/Player/Player.cpp | 1 | ||||
-rw-r--r-- | src/server/game/World/World.cpp | 21 | ||||
-rw-r--r-- | src/server/worldserver/worldserver.conf.dist | 14 |
3 files changed, 36 insertions, 0 deletions
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 @@ -793,6 +793,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. # Default: 10000 |