View Single Post
  #5  
Old 09-07-2014, 07:11 PM
Kingly_Krab
Administrator
 
Join Date: May 2013
Location: United States
Posts: 1,604
Default

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;
        }
    }
}
Reply With Quote