Allow servers to set starting value for swimming instead of the hard coded

value.
This commit is contained in:
Paul Coene 2015-02-23 13:32:10 -05:00
parent 19fc02c284
commit ba49e5f696
4 changed files with 14 additions and 4 deletions

View File

@ -1,5 +1,11 @@
EQEMu Changelog (Started on Sept 24, 2003 15:50)
-------------------------------------------------------
== 02/23/2015 ==
Noudess: Allow for a rule to set starting swimming value.
If the rule does not exist, it uses the old hard coded overrides. I moved
the swimming override to char create instead of setting it every time a char
enters a zone.
== 02/21/2015 ==
Noudess: Starting erudites that were supposed to start in paineel were landing in erudin on Titanium. Fixed to be paineel.

View File

@ -133,6 +133,7 @@ RULE_INT ( Skills, MaxTrainTradeskills, 21 )
RULE_BOOL ( Skills, UseLimitTradeskillSearchSkillDiff, true )
RULE_INT ( Skills, MaxTradeskillSearchSkillDiff, 50 )
RULE_INT ( Skills, MaxTrainSpecializations, 50 ) // Max level a GM trainer will train casting specializations
RULE_INT ( Skills, SwimmingStartValue, 100 )
RULE_CATEGORY_END()
RULE_CATEGORY( Pets )

View File

@ -1430,6 +1430,13 @@ bool Client::OPCharCreate(char *name, CharCreate_Struct *cc)
SetClassStartingSkills(&pp);
SetClassLanguages(&pp);
pp.skills[SkillSenseHeading] = 200;
// Allow server to force swimming training from a configured level
std::string value;
bool userule;
userule=RuleManager::Instance()->GetRule("Skills:SwimmingStartValue", value);
pp.skills[SkillSwimming] = (userule) ? atoi(value.c_str()) : 100;
// strcpy(pp.servername, WorldConfig::get()->ShortName.c_str());

View File

@ -1431,10 +1431,6 @@ void Client::Handle_Connect_OP_ZoneEntry(const EQApplicationPacket *app)
if (m_pp.ldon_points_tak < 0 || m_pp.ldon_points_tak > 2000000000){ m_pp.ldon_points_tak = 0; }
if (m_pp.ldon_points_available < 0 || m_pp.ldon_points_available > 2000000000){ m_pp.ldon_points_available = 0; }
/* Set Swimming Skill 100 by default if under 100 */
if (GetSkill(SkillSwimming) < 100)
SetSkill(SkillSwimming, 100);
/* Initialize AA's : Move to function eventually */
for (uint32 a = 0; a < MAX_PP_AA_ARRAY; a++){ aa[a] = &m_pp.aa_array[a]; }
query = StringFormat(