aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShocker <shocker@freakz.ro>2012-11-14 23:41:32 +0200
committerShocker <shocker@freakz.ro>2012-11-14 23:41:32 +0200
commit792e636a32ed194adf6bc77d366e9ce01aed4cfd (patch)
tree2c75e9f9d573c69e8b21e831705ee0d5a250f52d
parent967068d81ac42609d5d3990f52dc3714a1266571 (diff)
Core/Config: Implement CONFIG_MAX_JUSTICE_POINTS and CONFIG_START_JUSTICE_POINTS options
-rw-r--r--src/server/game/Entities/Player/Player.cpp1
-rw-r--r--src/server/game/World/World.cpp21
-rw-r--r--src/server/worldserver/worldserver.conf.dist14
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