[Bug Fix] Swimming Rules Adjustment and Racial (#3889)

* [Bug Fix] Swiming rules adjustment and racial

We need to set all character default swiming prior to working through racials. Added racial check so if starting rule is over the racial default it will not over-ride the starting rule.

* operator fix
This commit is contained in:
Fryguy 2024-01-07 15:02:21 -05:00 committed by GitHub
parent 9b72c07a54
commit 2d6c9f881a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1691,15 +1691,16 @@ bool Client::OPCharCreate(char *name, CharCreate_Struct *cc)
pp.hunger_level = 6000;
pp.thirst_level = 6000;
/* Set default skills for everybody */
pp.skills[EQ::skills::SkillSwimming] = RuleI(Skills, SwimmingStartValue);
pp.skills[EQ::skills::SkillSenseHeading] = RuleI(Skills, SenseHeadingStartValue);
/* Set Racial and Class specific language and skills */
SetRacialLanguages(&pp);
SetRaceStartingSkills(&pp);
SetClassStartingSkills(&pp);
SetClassLanguages(&pp);
pp.skills[EQ::skills::SkillSwimming] = RuleI(Skills, SwimmingStartValue);
pp.skills[EQ::skills::SkillSenseHeading] = RuleI(Skills, SenseHeadingStartValue);
// strcpy(pp.servername, WorldConfig::get()->ShortName.c_str());
memset(pp.spell_book, 0xFF, (sizeof(uint32) * EQ::spells::SPELLBOOK_SIZE));
@ -2143,7 +2144,9 @@ void Client::SetRaceStartingSkills( PlayerProfile_Struct *pp )
}
case FROGLOK:
{
pp->skills[EQ::skills::SkillSwimming] = 125;
if (RuleI(Skills, SwimmingStartValue) < 125) {
pp->skills[EQ::skills::SkillSwimming] = 125;
}
break;
}
case GNOME:
@ -2160,7 +2163,9 @@ void Client::SetRaceStartingSkills( PlayerProfile_Struct *pp )
case IKSAR:
{
pp->skills[EQ::skills::SkillForage] = 50;
pp->skills[EQ::skills::SkillSwimming] = 100;
if (RuleI(Skills, SwimmingStartValue) < 100) {
pp->skills[EQ::skills::SkillSwimming] = 100;
}
break;
}
case WOOD_ELF: