EQEmulator Forums

EQEmulator Forums (https://www.eqemulator.org/forums/index.php)
-   Development::Development (https://www.eqemulator.org/forums/forumdisplay.php?f=590)
-   -   Titanium/Non Crescent Hardcode startzones/default binds (https://www.eqemulator.org/forums/showthread.php?t=40591)

Figback65 04-23-2016 07:18 PM

Titanium/Non Crescent Hardcode startzones/default binds
 
This is the hardcode I implemented to make sure start zones and start binds work for titanium. Titanium was iffy on reading the start zones table, plus, it always had issues with double default binds via woodelves in kelethen bound in gfaydark and high elves bound in gfaydark. It never allowed 2 separate binds, anywho, heres the code.

I deleted all entries in the startzones table so it didn't pull anything from there.

If you want to change anything, atleast heres a good example to work with how you want it to be.

EDIT : Because I'm classic-pop with no drakkin and theres no case for froglok in rathe mountain(left froglok in for fashionquest). I added a race check in default. You could do the same for drakkin I imagine.

worlddb.cpp
Code:

void WorldDatabase::SetTitaniumDefaultStartZone(PlayerProfile_Struct* in_pp, CharCreate_Struct* in_cc)
{
        switch (in_cc->start_zone)
        {
                case 0: // Erudin
        {
                if (in_cc->class_ == SHADOWKNIGHT) // Cazic-Thule Erudites go to Paineel WORKS
                {
                        in_pp->x = 456.00;
                        in_pp->y = 880.00;
                        in_pp->z = -120.18;
                        in_pp->zone_id = 75; // paineel
                        in_pp->binds[0].zoneId = 75;
                        in_pp->binds[0].x = 200.00;
                        in_pp->binds[0].y = 800.00;
                        in_pp->binds[0].z = 3.39;
                }
                else if (in_cc->class_ == NECROMANCER) // Cazic-Thule Erudites go to Paineel WORKS
                {
                        in_pp->x = 839.42;
                        in_pp->y = 785.43;
                        in_pp->z = -24.12;
                        in_pp->zone_id = 75; // paineel
                        in_pp->binds[0].zoneId = 75;
                        in_pp->binds[0].x = 200.00;
                        in_pp->binds[0].y = 800.00;
                        in_pp->binds[0].z = 3.39;
                }
                else
                {
                        in_pp->x = 75.89;
                        in_pp->y = -14.76;
                        in_pp->z = 19.75;
                        in_pp->zone_id = 24;        // erudnext
                        in_pp->binds[0].zoneId = 38;        // tox
                        in_pp->binds[0].x = 204.20;
                        in_pp->binds[0].y = 2358.52;
                        in_pp->binds[0].z = -44.89;
                }
                break;
        }
        case 1: // Qeynos
        {
                if (in_cc->deity == 201)
                {
                        in_pp->x = -370.89;
                        in_pp->y = 361.61;
                        in_pp->z = -38.22;
                        in_pp->zone_id = 45; // qcat
                        in_pp->binds[0].zoneId = 2;
                        in_pp->binds[0].x = 120;
                        in_pp->binds[0].y = 406.14;
                        in_pp->binds[0].z = 1.88;
                }
                else
                {
                        in_pp->x = 233.76;
                        in_pp->y = 20.43;
                        in_pp->z = 2.44;
                        in_pp->zone_id = 2;        // qeynos2
                        in_pp->binds[0].zoneId = 2;        // qeynos2
                        in_pp->binds[0].x = 120;
                        in_pp->binds[0].y = 406.14;
                        in_pp->binds[0].z = 1.88;
                }
                break;
        }
        case 2: // Halas
        {
                in_pp->x = 75.54;
                in_pp->y = 127.53;
                in_pp->z = 4.38;
                in_pp->zone_id = 29;        // halas
                in_pp->binds[0].zoneId = 30;        // everfrost
                in_pp->binds[0].x = 578.13;
                in_pp->binds[0].y = 3346.48;
                in_pp->binds[0].z = -49.70;
                break;
        }
        case 3: // Rivervale
        {
                in_pp->x = -157.54;
                in_pp->y = 100.40;
                in_pp->z = 46.16;
                in_pp->zone_id = 19;        // rivervale
                in_pp->binds[0].zoneId = 33;        // misty
                in_pp->binds[0].x = -2427.33;
                in_pp->binds[0].y = 491.37;
                in_pp->binds[0].z = 1.36;
                break;
        }
        case 4: // Freeport
        {
                in_pp->x = -667.86;
                in_pp->y = 146.32;
                in_pp->z = -54.09;
                in_pp->zone_id = 10;        // freporte
                in_pp->binds[0].zoneId = 9;        // freportw
                in_pp->binds[0].x = 100.35;
                in_pp->binds[0].y = 33.62;
                in_pp->binds[0].z = -26.12;
                break;
        }
        case 5: // Dark Elves
        {
                in_pp->x = -559.71;
                in_pp->y = -55.14;
                in_pp->z = -40.09;
                in_pp->zone_id = 40;        // neriaka
                in_pp->binds[0].zoneId = 25;        // nektulos
                in_pp->binds[0].x = -1019.67;
                in_pp->binds[0].y = 2309.76;
                in_pp->binds[0].z = 1.56;
                break;
        }
        case 6: // Trolls
        {
                in_pp->x = 3.0;
                in_pp->y = 23.0;
                in_pp->z = 5.0;
                in_pp->zone_id = 52;        // gukta
                in_pp->binds[0].zoneId = 46;        // innothule
                in_pp->binds[0].x = -536.88;
                in_pp->binds[0].y = -2617.37;
                in_pp->binds[0].z = -20.70;
                break;
        }
        case 7: // Ogres
        {
                in_pp->x = 504.00;
                in_pp->y = 208.00;
                in_pp->z = 61.59;
                in_pp->zone_id = 49;        // oggok
                in_pp->binds[0].zoneId = 47;        // feerrott
                in_pp->binds[0].x = 900.70;
                in_pp->binds[0].y = 1446.68;
                in_pp->binds[0].z = 62.94;
                break;
        }
        case 8: // Dwarfs
        {
                in_pp->x = 38.00;
                in_pp->y = 43.00;
                in_pp->z = 2.50;
                in_pp->zone_id = 60;        // kaladima
                in_pp->binds[0].zoneId = 68;        // butcher
                in_pp->binds[0].x = -212.98;
                in_pp->binds[0].y = 2876.49;
                in_pp->binds[0].z = -0.90;
                break;
        }
        case 9: // Wood Elves
        {
                if (in_cc->class_ == WARRIOR) //
                {
                        in_pp->x = 276.99;
                        in_pp->y = 343.69;
                        in_pp->z = 75.85;
                        in_pp->zone_id = 54;        // gfaydark
                        in_pp->binds[0].zoneId = 54;        // gfaydark
                        in_pp->binds[0].x = 218.55;
                        in_pp->binds[0].y = 204.54;
                        in_pp->binds[0].z = -1.50;
                }
                else if (in_cc->class_ == BARD) //
                {
                        in_pp->x = 248.76;
                        in_pp->y = -235.21;
                        in_pp->z = 75.85;
                        in_pp->zone_id = 54;        // gfaydark
                        in_pp->binds[0].zoneId = 54;        // gfaydark
                        in_pp->binds[0].x = 218.55;
                        in_pp->binds[0].y = 204.54;
                        in_pp->binds[0].z = -1.50;
                }
                else if (in_cc->class_ == RANGER) //
                {
                        in_pp->x = 472.72;
                        in_pp->y = -411.62;
                        in_pp->z = 116.28;
                        in_pp->zone_id = 54;        // gfaydark
                        in_pp->binds[0].zoneId = 54;        // gfaydark
                        in_pp->binds[0].x = 218.55;
                        in_pp->binds[0].y = 204.54;
                        in_pp->binds[0].z = -1.50;
                }
                else if (in_cc->class_ == ROGUE) //
                {
                        in_pp->x = -211.92;
                        in_pp->y = -499.10;
                        in_pp->z = 159.85;
                        in_pp->zone_id = 54;        // gfaydark
                        in_pp->binds[0].zoneId = 54;        // gfaydark
                        in_pp->binds[0].x = 218.55;
                        in_pp->binds[0].y = 204.54;
                        in_pp->binds[0].z = -1.50;
                }
                else if (in_cc->class_ == DRUID) //
                {
                        in_pp->x = 224.11;
                        in_pp->y = -628.38;
                        in_pp->z = 75.81;
                        in_pp->zone_id = 54;        // gfaydark
                        in_pp->binds[0].zoneId = 54;        // gfaydark
                        in_pp->binds[0].x = 218.55;
                        in_pp->binds[0].y = 204.54;
                        in_pp->binds[0].z = -1.50;
                }
                else {
                        in_pp->x = 218.55;
                        in_pp->y = 204.54;
                        in_pp->z = -1.50;
                        in_pp->zone_id = 54;        // gfaydark
                        in_pp->binds[0].zoneId = 54;        // gfaydark
                        in_pp->binds[0].x = 218.55;
                        in_pp->binds[0].y = 204.54;
                        in_pp->binds[0].z = -1.50;
                }
                break;
        }
        case 10: // High Elves
        {
                in_pp->x = 94.00;
                in_pp->y = -25.00;
                in_pp->z = 1.88;
                in_pp->zone_id = 61;        // felwithea
                in_pp->binds[0].zoneId = 54;        // gfaydark
                in_pp->binds[0].x = -2331.74;
                in_pp->binds[0].y = -1999.01;
                in_pp->binds[0].z = 27.36;
                break;
        }
        case 11: // Gnomes
        { // Case
                if (in_cc->deity == 201) // Deity
                {
                        if (in_cc->class_ == CLERIC) //
                        {
                                in_pp->x = -403.04;
                                in_pp->y = 2091.60;
                                in_pp->z = -182.06;
                                in_pp->zone_id = 55;        // akanon
                                in_pp->binds[0].zoneId = 56;        // steamfont
                                in_pp->binds[0].x = 556.56;
                                in_pp->binds[0].y = -1810.46;
                                in_pp->binds[0].z = -110.03;
                        }
                        else if (in_cc->class_ == ENCHANTER) //
                        {
                                in_pp->x = -587.69;
                                in_pp->y = 2031.06;
                                in_pp->z = -182.06;
                                in_pp->zone_id = 55;        // akanon
                                in_pp->binds[0].zoneId = 56;        // steamfont
                                in_pp->binds[0].x = 556.56;
                                in_pp->binds[0].y = -1810.46;
                                in_pp->binds[0].z = -110.03;
                        }
                        else if (in_cc->class_ == MAGICIAN) //
                        {
                                in_pp->x = -587.69;
                                in_pp->y = 2031.06;
                                in_pp->z = -182.06;
                                in_pp->zone_id = 55;        // akanon
                                in_pp->binds[0].zoneId = 56;        // steamfont
                                in_pp->binds[0].x = 556.56;
                                in_pp->binds[0].y = -1810.46;
                                in_pp->binds[0].z = -110.03;
                        }
                        else if (in_cc->class_ == NECROMANCER) //
                        {
                                in_pp->x = -403.04;
                                in_pp->y = 2091.60;
                                in_pp->z = -182.06;
                                in_pp->zone_id = 55;        // akanon
                                in_pp->binds[0].zoneId = 56;        // steamfont
                                in_pp->binds[0].x = 556.56;
                                in_pp->binds[0].y = -1810.46;
                                in_pp->binds[0].z = -110.03;
                        }
                        else if (in_cc->class_ == ROGUE) //
                        {
                                in_pp->x = -498.21;
                                in_pp->y = 2067.43;
                                in_pp->z = -182.06;
                                in_pp->zone_id = 55;        // akanon
                                in_pp->binds[0].zoneId = 56;        // steamfont
                                in_pp->binds[0].x = 556.56;
                                in_pp->binds[0].y = -1810.46;
                                in_pp->binds[0].z = -110.03;
                        }
                        else if (in_cc->class_ == SHADOWKNIGHT) //
                        {
                                in_pp->x = -435.80;
                                in_pp->y = 2139.74;
                                in_pp->z = -182.06;
                                in_pp->zone_id = 55;        // akanon
                                in_pp->binds[0].zoneId = 56;        // steamfont
                                in_pp->binds[0].x = 556.56;
                                in_pp->binds[0].y = -1810.46;
                                in_pp->binds[0].z = -110.03;
                        }
                        else if (in_cc->class_ == WARRIOR) //
                        {
                                in_pp->x = -511.52;
                                in_pp->y = 2109.26;
                                in_pp->z = -182.06;
                                in_pp->zone_id = 55;        // akanon
                                in_pp->binds[0].zoneId = 56;        // steamfont
                                in_pp->binds[0].x = 556.56;
                                in_pp->binds[0].y = -1810.46;
                                in_pp->binds[0].z = -110.03;
                        }
                        else if (in_cc->class_ == WIZARD) //
                        {
                                in_pp->x = -587.69;
                                in_pp->y = 2031.06;
                                in_pp->z = -182.06;
                                in_pp->zone_id = 55;        // akanon
                                in_pp->binds[0].zoneId = 56;        // steamfont
                                in_pp->binds[0].x = 556.56;
                                in_pp->binds[0].y = -1810.46;
                                in_pp->binds[0].z = -110.03;
                        }
                } // close deity
                else
                {
                        if (in_cc->class_ == PALADIN) //
                        {
                                in_pp->x = -544.65;
                                in_pp->y = 1230.97;
                                in_pp->z = -40.09;
                                in_pp->zone_id = 55;        // akanon
                                in_pp->binds[0].zoneId = 56;        // steamfont
                                in_pp->binds[0].x = 556.56;
                                in_pp->binds[0].y = -1810.46;
                                in_pp->binds[0].z = -110.03;
                        }
                        else if (in_cc->class_ == CLERIC) //
                        {
                                in_pp->x = -557.09;
                                in_pp->y = 1190.74;
                                in_pp->z = -40.09;
                                in_pp->zone_id = 55;        // akanon
                                in_pp->binds[0].zoneId = 56;        // steamfont
                                in_pp->binds[0].x = 556.56;
                                in_pp->binds[0].y = -1810.46;
                                in_pp->binds[0].z = -110.03;
                        }
                        else if (in_cc->class_ == ENCHANTER) //
                        {
                                in_pp->x = -1008.20;
                                in_pp->y = 1083.57;
                                in_pp->z = 29.88;
                                in_pp->zone_id = 55;        // akanon
                                in_pp->binds[0].zoneId = 56;        // steamfont
                                in_pp->binds[0].x = 556.56;
                                in_pp->binds[0].y = -1810.46;
                                in_pp->binds[0].z = -110.03;
                        }
                        else if (in_cc->class_ == MAGICIAN) //
                        {
                                in_pp->x = -1008.20;
                                in_pp->y = 1083.57;
                                in_pp->z = 29.88;
                                in_pp->zone_id = 55;        // akanon
                                in_pp->binds[0].zoneId = 56;        // steamfont
                                in_pp->binds[0].x = 556.56;
                                in_pp->binds[0].y = -1810.46;
                                in_pp->binds[0].z = -110.03;
                        }
                        else if (in_cc->class_ == ROGUE) //
                        {
                                in_pp->x = -605.87;
                                in_pp->y = 1240.76;
                                in_pp->z = -54.09;
                                in_pp->zone_id = 55;        // akanon
                                in_pp->binds[0].zoneId = 56;        // steamfont
                                in_pp->binds[0].x = 556.56;
                                in_pp->binds[0].y = -1810.46;
                                in_pp->binds[0].z = -110.03;
                        }
                        else if (in_cc->class_ == WARRIOR) //
                        {
                                in_pp->x = -436.47;
                                in_pp->y = 850.33;
                                in_pp->z = -30.12;
                                in_pp->zone_id = 55;        // akanon
                                in_pp->binds[0].zoneId = 56;        // steamfont
                                in_pp->binds[0].x = 556.56;
                                in_pp->binds[0].y = -1810.46;
                                in_pp->binds[0].z = -110.03;
                        }
                        else if (in_cc->class_ == WIZARD) //
                        {
                                in_pp->x = -1008.20;
                                in_pp->y = 1083.57;
                                in_pp->z = 29.88;
                                in_pp->zone_id = 55;        // akanon
                                in_pp->binds[0].zoneId = 56;        // steamfont
                                in_pp->binds[0].x = 556.56;
                                in_pp->binds[0].y = -1810.46;
                                in_pp->binds[0].z = -110.03;
                        }       
                } // close else
                break;
                } // close case
       
        case 12: // Iksar
        {
                if (in_cc->class_ == SHADOWKNIGHT) //
                {
                        in_pp->x = -190.09;
                        in_pp->y = 1041.38;
                        in_pp->z = 45.72;
                        in_pp->zone_id = 106; // cabeast
                        in_pp->binds[0].zoneId = 78; // field of bone
                        in_pp->binds[0].x = 3217.32;
                        in_pp->binds[0].y = -2395.32;
                        in_pp->binds[0].z = 10.31;
                }
                else if (in_cc->class_ == BEASTLORD) //
                {
                        in_pp->x = -190.09;
                        in_pp->y = 1041.38;
                        in_pp->z = 45.72;
                        in_pp->zone_id = 106; // cabeast
                        in_pp->binds[0].zoneId = 78; // field of bone
                        in_pp->binds[0].x = 3217.32;
                        in_pp->binds[0].y = -2395.32;
                        in_pp->binds[0].z = 10.31;
                }
                else if (in_cc->class_ == SHAMAN) //
                {
                        in_pp->x = -189.26;
                        in_pp->y = 1030.43;
                        in_pp->z = 20.75;
                        in_pp->zone_id = 106; // cabeast
                        in_pp->binds[0].zoneId = 78; // field of bone
                        in_pp->binds[0].x = 3217.32;
                        in_pp->binds[0].y = -2395.32;
                        in_pp->binds[0].z = 10.31;
                }
                else if (in_cc->class_ == NECROMANCER) // 
                {
                        in_pp->x = 793.48;
                        in_pp->y = 315.15;
                        in_pp->z = 76.72;
                        in_pp->zone_id = 82; // cabwest
                        in_pp->binds[0].zoneId = 78; // field of bone
                        in_pp->binds[0].x = 3217.32;
                        in_pp->binds[0].y = -2395.32;
                        in_pp->binds[0].z = 10.31;
                }
                else if (in_cc->class_ == WARRIOR) // 
                {
                        in_pp->x = 16.00;
                        in_pp->y = -477.00;
                        in_pp->z = 59.72;
                        in_pp->zone_id = 106; // cabeast
                        in_pp->binds[0].zoneId = 78; // field of bone
                        in_pp->binds[0].x = 3217.32;
                        in_pp->binds[0].y = -2395.32;
                        in_pp->binds[0].z = 10.31;
                }
                else if (in_cc->class_ == MONK) //
                {
                        in_pp->x = -42.96;
                        in_pp->y = 420.47;
                        in_pp->z = 6.75;
                        in_pp->zone_id = 106; // cabeast
                        in_pp->binds[0].zoneId = 78; // field of bone
                        in_pp->binds[0].x = 3217.32;
                        in_pp->binds[0].y = -2395.32;
                        in_pp->binds[0].z = 10.31;
                }
                else
                {
                        in_pp->zone_id = 82;        // cabwest
                        in_pp->binds[0].zoneId = 78;        // fieldofbone
                }
                break;
        }
        case 13: // Vahshir
        {
                if (in_cc->class_ == SHAMAN) //
                {
                        in_pp->x = 101.07;
                        in_pp->y = 58.30;
                        in_pp->z = -259.50;
                        in_pp->zone_id = 155; // sharvahl
                        in_pp->binds[0].zoneId = 165; // shadeweavers
                        in_pp->binds[0].x = -3399.17;
                        in_pp->binds[0].y = -2132.69;
                        in_pp->binds[0].z = -100.65;
                }
                else if (in_cc->class_ == BEASTLORD) //
                {
                        in_pp->x = 89.92;
                        in_pp->y = 275.48;
                        in_pp->z = -259.52;
                        in_pp->zone_id = 155; // sharvahl
                        in_pp->binds[0].zoneId = 165; // shadeweavers
                        in_pp->binds[0].x = -3399.17;
                        in_pp->binds[0].y = -2132.69;
                        in_pp->binds[0].z = -100.65;
                }
                else if (in_cc->class_ == BARD) //
                {
                        in_pp->x = 554.77;
                        in_pp->y = -0.80;
                        in_pp->z = -103.43;
                        in_pp->zone_id = 155; // sharvahl
                        in_pp->binds[0].zoneId = 165; // shadeweavers
                        in_pp->binds[0].x = -3399.17;
                        in_pp->binds[0].y = -2132.69;
                        in_pp->binds[0].z = -100.65;
                }
                else if (in_cc->class_ == WARRIOR) //
                {
                        in_pp->x = -538.20;
                        in_pp->y = -144.16;
                        in_pp->z = -259.44;
                        in_pp->zone_id = 155; // sharvahl
                        in_pp->binds[0].zoneId = 165; // shadeweavers
                        in_pp->binds[0].x = -3399.17;
                        in_pp->binds[0].y = -2132.69;
                        in_pp->binds[0].z = -100.65;
                }
                else if (in_cc->class_ == ROGUE) //
                {
                        in_pp->x = -300.53;
                        in_pp->y = 191.60;
                        in_pp->z = -247.53;
                        in_pp->zone_id = 155; // sharvahl
                        in_pp->binds[0].zoneId = 165; // shadeweavers
                        in_pp->binds[0].x = -3399.17;
                        in_pp->binds[0].y = -2132.69;
                        in_pp->binds[0].z = -100.65;
                }
                break;
        }
        default:
                if (in_cc->race == 330)
                {
                        in_pp->x = 227.00;
                        in_pp->y = -1762.43;
                        in_pp->z = 3.01;
                        in_pp->zone_id = 50; // rathemtn
                        in_pp->binds[0].zoneId = 50;
                        in_pp->binds[0].x = 227.00;
                        in_pp->binds[0].y = 1762.43;
                        in_pp->binds[0].z = 3.01;
                }
        }
}



All times are GMT -4. The time now is 06:35 AM.

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