diff --git a/engine/server/library/serverGame/src/shared/core/Client.cpp b/engine/server/library/serverGame/src/shared/core/Client.cpp index 78f2c8ca..440e39f8 100755 --- a/engine/server/library/serverGame/src/shared/core/Client.cpp +++ b/engine/server/library/serverGame/src/shared/core/Client.cpp @@ -383,7 +383,8 @@ Client::Client(ConnectionServerConnection &connection, const NetworkId &characte } // Send server-specific settings to the client - ParametersMessage const msg(ConfigServerGame::getWeatherUpdateSeconds()); + ParametersMessage const msg(ConfigServerGame::getWeatherUpdateSeconds(), + ConfigServerGame::getEntertainerCaptchaPercent()); send(msg, true); ObjectTracker::addPlayer(); diff --git a/engine/server/library/serverGame/src/shared/core/ConfigServerGame.cpp b/engine/server/library/serverGame/src/shared/core/ConfigServerGame.cpp index 6fcb2e2b..59a752c5 100755 --- a/engine/server/library/serverGame/src/shared/core/ConfigServerGame.cpp +++ b/engine/server/library/serverGame/src/shared/core/ConfigServerGame.cpp @@ -170,6 +170,9 @@ void ConfigServerGame::install(void) KEY_STRING (defaultVendorItemRestrictionFile, "datatables/commodity/vendor_item_restriction_default.iff"); KEY_STRING (defaultVendorItemRestrictionRejectionMessage, "@ui_auc:reject_restricted_item"); KEY_INT (weatherUpdateSeconds, 15*60); + KEY_INT (entertainerCaptchaPercent, 40); + data->entertainerCaptchaPercent = std::max(0, std::min(100, data->entertainerCaptchaPercent)); + KEY_STRING (instrumentDataTableFilename, "datatables/tangible/instrument_datatable.iff"); KEY_STRING (performanceDataTableFilename, "datatables/performance/performance.iff"); KEY_INT (createQueueScheduleTime, 75); diff --git a/engine/server/library/serverGame/src/shared/core/ConfigServerGame.h b/engine/server/library/serverGame/src/shared/core/ConfigServerGame.h index 612fc936..b901ce0f 100755 --- a/engine/server/library/serverGame/src/shared/core/ConfigServerGame.h +++ b/engine/server/library/serverGame/src/shared/core/ConfigServerGame.h @@ -229,6 +229,7 @@ class ConfigServerGame const char * defaultVendorItemRestrictionRejectionMessage; int weatherUpdateSeconds; + int entertainerCaptchaPercent; const char * instrumentDataTableFilename; const char * performanceDataTableFilename; @@ -768,6 +769,7 @@ class ConfigServerGame static const char * getDefaultVendorItemRestrictionRejectionMessage(); static int getWeatherUpdateSeconds(); + static int getEntertainerCaptchaPercent(); static const char * getInstrumentDataTableFilename(void); static const char * getPerformanceDataTableFilename(void); static const int getCreateQueueScheduleTime(void); @@ -2006,6 +2008,13 @@ inline int ConfigServerGame::getWeatherUpdateSeconds(void) return data->weatherUpdateSeconds; } + +inline int ConfigServerGame::getEntertainerCaptchaPercent(void) +{ + return data->entertainerCaptchaPercent; +} + + // ---------------------------------------------------------------------- inline const char * ConfigServerGame::getInstrumentDataTableFilename(void) diff --git a/engine/shared/library/sharedNetworkMessages/src/shared/clientGameServer/ParametersMessage.cpp b/engine/shared/library/sharedNetworkMessages/src/shared/clientGameServer/ParametersMessage.cpp index 85084596..29427bf5 100755 --- a/engine/shared/library/sharedNetworkMessages/src/shared/clientGameServer/ParametersMessage.cpp +++ b/engine/shared/library/sharedNetworkMessages/src/shared/clientGameServer/ParametersMessage.cpp @@ -10,20 +10,24 @@ // ====================================================================== -ParametersMessage::ParametersMessage(int weatherUpdateInterval) : +ParametersMessage::ParametersMessage(int weatherUpdateInterval, int entertainerCaptchaPercent) : GameNetworkMessage("ParametersMessage"), - m_weatherUpdateInterval(weatherUpdateInterval) + m_weatherUpdateInterval(weatherUpdateInterval), + m_entertainerCaptchaPercent(entertainerCaptchaPercent) { addVariable(m_weatherUpdateInterval); + addVariable(m_entertainerCaptchaPercent); } //----------------------------------------------------------------------- ParametersMessage::ParametersMessage(Archive::ReadIterator & source) : GameNetworkMessage("ParametersMessage"), - m_weatherUpdateInterval() + m_weatherUpdateInterval(), + m_entertainerCaptchaPercent() { addVariable(m_weatherUpdateInterval); + addVariable(m_entertainerCaptchaPercent); unpack(source); } diff --git a/engine/shared/library/sharedNetworkMessages/src/shared/clientGameServer/ParametersMessage.h b/engine/shared/library/sharedNetworkMessages/src/shared/clientGameServer/ParametersMessage.h index cf0e78de..fadd7b8d 100755 --- a/engine/shared/library/sharedNetworkMessages/src/shared/clientGameServer/ParametersMessage.h +++ b/engine/shared/library/sharedNetworkMessages/src/shared/clientGameServer/ParametersMessage.h @@ -31,15 +31,17 @@ class ParametersMessage : public GameNetworkMessage { public: - ParametersMessage(int weatherUpdateInterval); + ParametersMessage(int weatherUpdateInterval, int entertainerCaptchaPercent); explicit ParametersMessage(Archive::ReadIterator & source); virtual ~ParametersMessage(); public: int getWeatherUpdateInterval() const; + int getEntertainerCaptchaPercent() const; private: Archive::AutoVariable m_weatherUpdateInterval; + Archive::AutoVariable m_entertainerCaptchaPercent; ParametersMessage(); ParametersMessage(const ParametersMessage&); @@ -53,6 +55,14 @@ inline int ParametersMessage::getWeatherUpdateInterval() const return m_weatherUpdateInterval.get(); } +inline int ParametersMessage::getEntertainerCaptchaPercent() const +{ + return m_entertainerCaptchaPercent.get(); +} + + + // ====================================================================== #endif +