EQEmulator Forums

EQEmulator Forums (https://www.eqemulator.org/forums/index.php)
-   Support::Windows Servers (https://www.eqemulator.org/forums/forumdisplay.php?f=587)
-   -   Starting Languages (https://www.eqemulator.org/forums/showthread.php?t=38737)

provocating 09-07-2014 06:49 PM

Starting Languages
 
I know I can set a players language skill with #setlanguage, but where are these default values stored at? I have dug through the database and unless I am overlooking it, I cannot find it. I could always do it through a Perl script when a person logs on, but that may be major overkill. I am wanting Thieves Cant set at 100 for all new rogues.

Kingly_Krab 09-07-2014 07:00 PM

Client.cpp (Client::SetRacialLanguages):
Code:

void Client::SetRacialLanguages( PlayerProfile_Struct *pp )
{
    switch( pp->race )
    {
    case BARBARIAN:
        {
            pp->languages[LANG_COMMON_TONGUE] = 100;
            pp->languages[LANG_BARBARIAN] = 100;
            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;
            break;
        }
    case DWARF:
        {
            pp->languages[LANG_COMMON_TONGUE] = 100;
            pp->languages[LANG_DWARVISH] = 100;
            pp->languages[LANG_GNOMISH] = 25;
            break;
        }
    case ERUDITE:
        {
            pp->languages[LANG_COMMON_TONGUE] = 100;
            pp->languages[LANG_ERUDIAN] = 100;
            break;
        }
    case FROGLOK:
        {
            pp->languages[LANG_COMMON_TONGUE] = 100;
            pp->languages[LANG_FROGLOK] = 100;
            pp->languages[LANG_TROLL] = 25;
            break;
        }
    case GNOME:
        {
            pp->languages[LANG_COMMON_TONGUE] = 100;
            pp->languages[LANG_DWARVISH] = 25;
            pp->languages[LANG_GNOMISH] = 100;
            break;
        }
    case HALF_ELF:
        {
            pp->languages[LANG_COMMON_TONGUE] = 100;
            pp->languages[LANG_ELVISH] = 100;
            break;
        }
    case HALFLING:
        {
            pp->languages[LANG_COMMON_TONGUE] = 100;
            pp->languages[LANG_HALFLING] = 100;
            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;
            break;
        }
    case HUMAN:
        {
            pp->languages[LANG_COMMON_TONGUE] = 100;
            break;
        }
    case IKSAR:
        {
            pp->languages[LANG_COMMON_TONGUE] = 95;
            pp->languages[LANG_DARK_SPEECH] = 100;
            pp->languages[LANG_LIZARDMAN] = 100;
            break;
        }
    case OGRE:
        {
            pp->languages[LANG_COMMON_TONGUE] = 95;
            pp->languages[LANG_DARK_SPEECH] = 100;
            pp->languages[LANG_OGRE] = 100;
            break;
        }
    case TROLL:
        {
            pp->languages[LANG_COMMON_TONGUE] = 95;
            pp->languages[LANG_DARK_SPEECH] = 100;
            pp->languages[LANG_TROLL] = 100;
            break;
        }
    case WOOD_ELF:
        {
            pp->languages[LANG_COMMON_TONGUE] = 100;
            pp->languages[LANG_ELVISH] = 100;
            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;
            break;
        }
    case DRAKKIN:
        {
            pp->languages[LANG_COMMON_TONGUE] = 100;
            pp->languages[LANG_ELDER_DRAGON] = 100;
            pp->languages[LANG_DRAGON] = 100;
            break;
        }
    }
}


provocating 09-07-2014 07:06 PM

I saw that, but that looks like races. Are the classes in the same struct?

provocating 09-07-2014 07:07 PM

And if so, we need something like.....

Code:

case ROGUE:
        {
            pp->languages[LANG_THIEVES_CANT] = 100;
            break;


Kingly_Krab 09-07-2014 07:11 PM

I guess you could do a switch on pp->class_, as that switch is pp->race and would never pull that case ROGUE correctly.

Maybe something like this?:
Code:

void Client::SetRacialLanguages( PlayerProfile_Struct *pp )
{
    switch( pp->race )
    {
    case BARBARIAN:
        {
            pp->languages[LANG_COMMON_TONGUE] = 100;
            pp->languages[LANG_BARBARIAN] = 100;
            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;
            break;
        }
    case DWARF:
        {
            pp->languages[LANG_COMMON_TONGUE] = 100;
            pp->languages[LANG_DWARVISH] = 100;
            pp->languages[LANG_GNOMISH] = 25;
            break;
        }
    case ERUDITE:
        {
            pp->languages[LANG_COMMON_TONGUE] = 100;
            pp->languages[LANG_ERUDIAN] = 100;
            break;
        }
    case FROGLOK:
        {
            pp->languages[LANG_COMMON_TONGUE] = 100;
            pp->languages[LANG_FROGLOK] = 100;
            pp->languages[LANG_TROLL] = 25;
            break;
        }
    case GNOME:
        {
            pp->languages[LANG_COMMON_TONGUE] = 100;
            pp->languages[LANG_DWARVISH] = 25;
            pp->languages[LANG_GNOMISH] = 100;
            break;
        }
    case HALF_ELF:
        {
            pp->languages[LANG_COMMON_TONGUE] = 100;
            pp->languages[LANG_ELVISH] = 100;
            break;
        }
    case HALFLING:
        {
            pp->languages[LANG_COMMON_TONGUE] = 100;
            pp->languages[LANG_HALFLING] = 100;
            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;
            break;
        }
    case HUMAN:
        {
            pp->languages[LANG_COMMON_TONGUE] = 100;
            break;
        }
    case IKSAR:
        {
            pp->languages[LANG_COMMON_TONGUE] = 95;
            pp->languages[LANG_DARK_SPEECH] = 100;
            pp->languages[LANG_LIZARDMAN] = 100;
            break;
        }
    case OGRE:
        {
            pp->languages[LANG_COMMON_TONGUE] = 95;
            pp->languages[LANG_DARK_SPEECH] = 100;
            pp->languages[LANG_OGRE] = 100;
            break;
        }
    case TROLL:
        {
            pp->languages[LANG_COMMON_TONGUE] = 95;
            pp->languages[LANG_DARK_SPEECH] = 100;
            pp->languages[LANG_TROLL] = 100;
            break;
        }
    case WOOD_ELF:
        {
            pp->languages[LANG_COMMON_TONGUE] = 100;
            pp->languages[LANG_ELVISH] = 100;
            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;
            break;
        }
    case DRAKKIN:
        {
            pp->languages[LANG_COMMON_TONGUE] = 100;
            pp->languages[LANG_ELDER_DRAGON] = 100;
            pp->languages[LANG_DRAGON] = 100;
            break;
        }
    }
    switch (pp->class_) {
        case ROGUE: {
            pp->languages[LANG_THIEVES_CANT] = 100;
            break;
        }
        default: {
            pp->languages[LANG_THIEVES_CANT] = 0;
            break;
        }
    }
}


provocating 09-07-2014 07:15 PM

I just wanted to let you guys know. I am going to fix it for us just in the global script.

Kingly_Krab 09-07-2014 07:17 PM

Okay, that works, too. :D


All times are GMT -4. The time now is 02:58 PM.

Powered by vBulletin®, Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.