mirror of
https://github.com/EQEmu/Server.git
synced 2026-05-17 07:18:37 +00:00
[Languages] Cleanup language constants, use repositories (#3838)
* [Languages] Cleanup languages constants # Notes - Cleanup formatting and logic where necessary. - Cleaned up constants to use a namespace with `constexpr` instead. - Changed `LoadCharacterLanguages` to use a repository instead. * Lua GroupMessage uint8/language_id * Lua More uint8/language_id
This commit is contained in:
+71
-86
@@ -28,7 +28,6 @@
|
||||
#include "../common/inventory_profile.h"
|
||||
#include "../common/races.h"
|
||||
#include "../common/classes.h"
|
||||
#include "../common/languages.h"
|
||||
#include "../common/skills.h"
|
||||
#include "../common/extprofile.h"
|
||||
#include "../common/strings.h"
|
||||
@@ -2181,115 +2180,101 @@ void Client::SetRaceStartingSkills( PlayerProfile_Struct *pp )
|
||||
|
||||
void Client::SetRacialLanguages( PlayerProfile_Struct *pp )
|
||||
{
|
||||
switch( pp->race )
|
||||
{
|
||||
case BARBARIAN:
|
||||
{
|
||||
pp->languages[LANG_COMMON_TONGUE] = 100;
|
||||
pp->languages[LANG_BARBARIAN] = 100;
|
||||
switch (pp->race) {
|
||||
case Race::Human: {
|
||||
pp->languages[Language::CommonTongue] = Language::MaxValue;
|
||||
break;
|
||||
}
|
||||
case DARK_ELF:
|
||||
{
|
||||
pp->languages[LANG_COMMON_TONGUE] = 100;
|
||||
pp->languages[LANG_DARK_ELVISH] = 100;
|
||||
pp->languages[LANG_DARK_SPEECH] = 100;
|
||||
pp->languages[LANG_ELDER_ELVISH] = 100;
|
||||
pp->languages[LANG_ELVISH] = 25;
|
||||
case Race::Barbarian: {
|
||||
pp->languages[Language::CommonTongue] = Language::MaxValue;
|
||||
pp->languages[Language::Barbarian] = Language::MaxValue;
|
||||
break;
|
||||
}
|
||||
case DWARF:
|
||||
{
|
||||
pp->languages[LANG_COMMON_TONGUE] = 100;
|
||||
pp->languages[LANG_DWARVISH] = 100;
|
||||
pp->languages[LANG_GNOMISH] = 25;
|
||||
case Race::Erudite: {
|
||||
pp->languages[Language::CommonTongue] = Language::MaxValue;
|
||||
pp->languages[Language::Erudian] = Language::MaxValue;
|
||||
break;
|
||||
}
|
||||
case ERUDITE:
|
||||
{
|
||||
pp->languages[LANG_COMMON_TONGUE] = 100;
|
||||
pp->languages[LANG_ERUDIAN] = 100;
|
||||
case Race::WoodElf: {
|
||||
pp->languages[Language::CommonTongue] = Language::MaxValue;
|
||||
pp->languages[Language::Elvish] = Language::MaxValue;
|
||||
break;
|
||||
}
|
||||
case FROGLOK:
|
||||
{
|
||||
pp->languages[LANG_COMMON_TONGUE] = 100;
|
||||
pp->languages[LANG_FROGLOK] = 100;
|
||||
pp->languages[LANG_TROLL] = 25;
|
||||
case Race::HighElf: {
|
||||
pp->languages[Language::CommonTongue] = Language::MaxValue;
|
||||
pp->languages[Language::DarkElvish] = 25;
|
||||
pp->languages[Language::ElderElvish] = 25;
|
||||
pp->languages[Language::Elvish] = Language::MaxValue;
|
||||
break;
|
||||
}
|
||||
case GNOME:
|
||||
{
|
||||
pp->languages[LANG_COMMON_TONGUE] = 100;
|
||||
pp->languages[LANG_DWARVISH] = 25;
|
||||
pp->languages[LANG_GNOMISH] = 100;
|
||||
case Race::DarkElf: {
|
||||
pp->languages[Language::CommonTongue] = Language::MaxValue;
|
||||
pp->languages[Language::DarkElvish] = Language::MaxValue;
|
||||
pp->languages[Language::DarkSpeech] = Language::MaxValue;
|
||||
pp->languages[Language::ElderElvish] = Language::MaxValue;
|
||||
pp->languages[Language::Elvish] = 25;
|
||||
break;
|
||||
}
|
||||
case HALF_ELF:
|
||||
{
|
||||
pp->languages[LANG_COMMON_TONGUE] = 100;
|
||||
pp->languages[LANG_ELVISH] = 100;
|
||||
case Race::HalfElf: {
|
||||
pp->languages[Language::CommonTongue] = Language::MaxValue;
|
||||
pp->languages[Language::Elvish] = Language::MaxValue;
|
||||
break;
|
||||
}
|
||||
case HALFLING:
|
||||
{
|
||||
pp->languages[LANG_COMMON_TONGUE] = 100;
|
||||
pp->languages[LANG_HALFLING] = 100;
|
||||
case Race::Dwarf: {
|
||||
pp->languages[Language::CommonTongue] = Language::MaxValue;
|
||||
pp->languages[Language::Dwarvish] = Language::MaxValue;
|
||||
pp->languages[Language::Gnomish] = 25;
|
||||
break;
|
||||
}
|
||||
case HIGH_ELF:
|
||||
{
|
||||
pp->languages[LANG_COMMON_TONGUE] = 100;
|
||||
pp->languages[LANG_DARK_ELVISH] = 25;
|
||||
pp->languages[LANG_ELDER_ELVISH] = 25;
|
||||
pp->languages[LANG_ELVISH] = 100;
|
||||
case Race::Troll: {
|
||||
pp->languages[Language::CommonTongue] = RuleI(Character, TrollCommonTongue);
|
||||
pp->languages[Language::DarkSpeech] = Language::MaxValue;
|
||||
pp->languages[Language::Troll] = Language::MaxValue;
|
||||
break;
|
||||
}
|
||||
case HUMAN:
|
||||
{
|
||||
pp->languages[LANG_COMMON_TONGUE] = 100;
|
||||
case Race::Ogre: {
|
||||
pp->languages[Language::CommonTongue] = RuleI(Character, OgreCommonTongue);
|
||||
pp->languages[Language::DarkSpeech] = Language::MaxValue;
|
||||
pp->languages[Language::Ogre] = Language::MaxValue;
|
||||
break;
|
||||
}
|
||||
case IKSAR:
|
||||
{
|
||||
pp->languages[LANG_COMMON_TONGUE] = RuleI(Character, IksarCommonTongue);
|
||||
pp->languages[LANG_DARK_SPEECH] = 100;
|
||||
pp->languages[LANG_LIZARDMAN] = 100;
|
||||
case Race::Halfling: {
|
||||
pp->languages[Language::CommonTongue] = Language::MaxValue;
|
||||
pp->languages[Language::Halfling] = Language::MaxValue;
|
||||
break;
|
||||
}
|
||||
case OGRE:
|
||||
{
|
||||
pp->languages[LANG_COMMON_TONGUE] = RuleI(Character, OgreCommonTongue);
|
||||
pp->languages[LANG_DARK_SPEECH] = 100;
|
||||
pp->languages[LANG_OGRE] = 100;
|
||||
case Race::Gnome: {
|
||||
pp->languages[Language::CommonTongue] = Language::MaxValue;
|
||||
pp->languages[Language::Dwarvish] = 25;
|
||||
pp->languages[Language::Gnomish] = Language::MaxValue;
|
||||
break;
|
||||
}
|
||||
case TROLL:
|
||||
{
|
||||
pp->languages[LANG_COMMON_TONGUE] = RuleI(Character, TrollCommonTongue);
|
||||
pp->languages[LANG_DARK_SPEECH] = 100;
|
||||
pp->languages[LANG_TROLL] = 100;
|
||||
case Race::Iksar: {
|
||||
pp->languages[Language::CommonTongue] = RuleI(Character, IksarCommonTongue);
|
||||
pp->languages[Language::DarkSpeech] = Language::MaxValue;
|
||||
pp->languages[Language::Lizardman] = Language::MaxValue;
|
||||
break;
|
||||
}
|
||||
case WOOD_ELF:
|
||||
{
|
||||
pp->languages[LANG_COMMON_TONGUE] = 100;
|
||||
pp->languages[LANG_ELVISH] = 100;
|
||||
case Race::VahShir: {
|
||||
pp->languages[Language::CommonTongue] = Language::MaxValue;
|
||||
pp->languages[Language::CombineTongue] = Language::MaxValue;
|
||||
pp->languages[Language::Erudian] = 25;
|
||||
pp->languages[Language::VahShir] = Language::MaxValue;
|
||||
break;
|
||||
}
|
||||
case VAHSHIR:
|
||||
{
|
||||
pp->languages[LANG_COMMON_TONGUE] = 100;
|
||||
pp->languages[LANG_COMBINE_TONGUE] = 100;
|
||||
pp->languages[LANG_ERUDIAN] = 25;
|
||||
pp->languages[LANG_VAH_SHIR] = 100;
|
||||
case Race::Froglok: {
|
||||
pp->languages[Language::CommonTongue] = Language::MaxValue;
|
||||
pp->languages[Language::Froglok] = Language::MaxValue;
|
||||
pp->languages[Language::Troll] = 25;
|
||||
break;
|
||||
}
|
||||
case DRAKKIN:
|
||||
{
|
||||
pp->languages[LANG_COMMON_TONGUE] = 100;
|
||||
pp->languages[LANG_ELDER_DRAGON] = 100;
|
||||
pp->languages[LANG_DRAGON] = 100;
|
||||
case Race::Drakkin: {
|
||||
pp->languages[Language::CommonTongue] = Language::MaxValue;
|
||||
pp->languages[Language::ElderDragon] = Language::MaxValue;
|
||||
pp->languages[Language::Dragon] = Language::MaxValue;
|
||||
break;
|
||||
}
|
||||
default: {
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -2298,12 +2283,12 @@ void Client::SetRacialLanguages( PlayerProfile_Struct *pp )
|
||||
void Client::SetClassLanguages(PlayerProfile_Struct *pp)
|
||||
{
|
||||
// we only need to handle one class, but custom server might want to do more
|
||||
switch(pp->class_) {
|
||||
case Class::Rogue:
|
||||
pp->languages[LANG_THIEVES_CANT] = 100;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
switch (pp->class_) {
|
||||
case Class::Rogue:
|
||||
pp->languages[Language::ThievesCant] = Language::MaxValue;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user