EQEmulator Forums

EQEmulator Forums (https://www.eqemulator.org/forums/index.php)
-   Archive::Development (https://www.eqemulator.org/forums/forumdisplay.php?f=621)
-   -   Code for STR/STA/AGI/DEX/INT/WIS/CHA Luclin AAs (https://www.eqemulator.org/forums/showthread.php?t=8507)

killspree 07-02-2003 10:47 PM

Code for STR/STA/AGI/DEX/INT/WIS/CHA Luclin AAs
 
The following is code that enables the Innate Strength, Stamina, etc AAs, as well as raises the caps of the stats to their PoP levels.

client.cpp line ~224 change:

Code:

sint16 Client::GetMaxSTR()
{
    // todo: PoP AA abilities
    return 255;
}
sint16 Client::GetMaxSTA()
{
    // todo: PoP AA abilities
    return 255;
}
sint16 Client::GetMaxDEX()
{
    // todo: PoP AA abilities
    return 255;
}
sint16 Client::GetMaxAGI()
{
    // todo: PoP AA abilities
    return 255;
}
sint16 Client::GetMaxINT()
{
    // todo: PoP AA abilities
    return 255;
}
sint16 Client::GetMaxWIS()
{
    // todo: PoP AA abilities
    return 255;
}
sint16 Client::GetMaxCHA()
{
    // todo: PoP AA abilities
    return 255;
}

To:

Code:

sint16 Client::GetMaxSTR()

{

    // todo: PoP AA abilities
        if (GetLevel() == 65) {
                return 280;
        }
        else if (GetLevel() == 64) {
                return 275;
        }
        else if (GetLevel() == 63) {
                return 270;
        }
        else if (GetLevel() == 62) {
                return 265;
        }
        else if (GetLevel() == 61) {
                return 260;
        }
        else {
    return 255;
        }
}

sint16 Client::GetMaxSTA()

{

    // todo: PoP AA abilities

        if (GetLevel() == 65) {
                return 280;
        }
        else if (GetLevel() == 64) {
                return 275;
        }
        else if (GetLevel() == 63) {
                return 270;
        }
        else if (GetLevel() == 62) {
                return 265;
        }
        else if (GetLevel() == 61) {
                return 260;
        }
        else {
    return 255;
        }

}

sint16 Client::GetMaxDEX()

{

    // todo: PoP AA abilities

        if (GetLevel() == 65) {
                return 280;
        }
        else if (GetLevel() == 64) {
                return 275;
        }
        else if (GetLevel() == 63) {
                return 270;
        }
        else if (GetLevel() == 62) {
                return 265;
        }
        else if (GetLevel() == 61) {
                return 260;
        }
        else {
    return 255;
        }

}

sint16 Client::GetMaxAGI()

{

    // todo: PoP AA abilities

        if (GetLevel() == 65) {
                return 280;
        }
        else if (GetLevel() == 64) {
                return 275;
        }
        else if (GetLevel() == 63) {
                return 270;
        }
        else if (GetLevel() == 62) {
                return 265;
        }
        else if (GetLevel() == 61) {
                return 260;
        }
        else {
    return 255;
        }

}

sint16 Client::GetMaxINT()

{

    // todo: PoP AA abilities

        if (GetLevel() == 65) {
                return 280;
        }
        else if (GetLevel() == 64) {
                return 275;
        }
        else if (GetLevel() == 63) {
                return 270;
        }
        else if (GetLevel() == 62) {
                return 265;
        }
        else if (GetLevel() == 61) {
                return 260;
        }
        else {
    return 255;
        }

}

sint16 Client::GetMaxWIS()

{

    // todo: PoP AA abilities

        if (GetLevel() == 65) {
                return 280;
        }
        else if (GetLevel() == 64) {
                return 275;
        }
        else if (GetLevel() == 63) {
                return 270;
        }
        else if (GetLevel() == 62) {
                return 265;
        }
        else if (GetLevel() == 61) {
                return 260;
        }
        else {
    return 255;
        }

}

sint16 Client::GetMaxCHA()

{

    // todo: PoP AA abilities

        if (GetLevel() == 65) {
                return 280;
        }
        else if (GetLevel() == 64) {
                return 275;
        }
        else if (GetLevel() == 63) {
                return 270;
        }
        else if (GetLevel() == 62) {
                return 265;
        }
        else if (GetLevel() == 61) {
                return 260;
        }
        else {
    return 255;
        }

}

client.h line ~154 change:

Code:

        inline sint16        GetSTR()                { int16 str = GetBaseSTR() + itembonuses->STR + spellbonuses->STR; if(str>255)return 255; else return str  /*+ aa.general_skills.named.innate_strength * 2*/; }//might be screwing up
        inline sint16        GetSTA()                { int16 sta = GetBaseSTA() + itembonuses->STA + spellbonuses->STA; if(sta>255)return 255; else return sta/*+ aa.general_skills.named.innate_stamina * 2*/; }
        inline sint16        GetDEX()                { int16 dex = GetBaseDEX() + itembonuses->DEX + spellbonuses->DEX; if(dex>255)return 255; else return dex/*+ aa.general_skills.named.innate_dexterity * 2*/; }
        inline sint16        GetAGI()                { int16 agi = GetBaseAGI() + itembonuses->AGI + spellbonuses->AGI; if(agi>255)return 255; else return agi/*+ aa.general_skills.named.innate_agility * 2*/; }
        inline sint16        GetINT()                { int16 int_ = GetBaseINT() + itembonuses->INT + spellbonuses->INT; if(int_>255)return 255; else return int_/*+ aa.general_skills.named.innate_intelligence * 2*/; }
        inline sint16        GetWIS()                { int16 wis = GetBaseWIS() + itembonuses->WIS + spellbonuses->WIS; if(wis>255)return 255; else return wis/*+ aa.general_skills.named.innate_wisdom * 2*/; }
        inline sint16        GetCHA()                { int16 cha = GetBaseCHA() + itembonuses->CHA + spellbonuses->CHA; if(cha>255)return 255; else return cha/*+ aa.general_skills.named.innate_charisma * 2*/; }

To:

Code:

        inline sint16        GetSTR()                { int16 str = GetBaseSTR() + itembonuses->STR + spellbonuses->STR; uint8 *aa_item = &(((uint8 *)&aa)[1]); if(str>255)return str+*aa_item*2; else return str+*aa_item*2; }
        inline sint16        GetSTA()                { int16 sta = GetBaseSTA() + itembonuses->STA + spellbonuses->STA; uint8 *aa_item = &(((uint8 *)&aa)[2]); if(sta>255)return sta+*aa_item*2; else return sta+*aa_item*2; }
        inline sint16        GetDEX()                { int16 dex = GetBaseDEX() + itembonuses->DEX + spellbonuses->DEX; uint8 *aa_item = &(((uint8 *)&aa)[4]); if(dex>255)return dex+*aa_item*2; else return dex+*aa_item*2; }
        inline sint16        GetAGI()                { int16 agi = GetBaseAGI() + itembonuses->AGI + spellbonuses->AGI; uint8 *aa_item = &(((uint8 *)&aa)[3]); if(agi>255)return agi+*aa_item*2; else return agi+*aa_item*2; }
        inline sint16        GetINT()                { int16 int_ = GetBaseINT() + itembonuses->INT + spellbonuses->INT; uint8 *aa_item = &(((uint8 *)&aa)[5]); if(int_>255)return int_+*aa_item*2; else return int_+*aa_item*2; }
        inline sint16        GetWIS()                { int16 wis = GetBaseWIS() + itembonuses->WIS + spellbonuses->WIS; uint8 *aa_item = &(((uint8 *)&aa)[6]); if(wis>255)return wis+*aa_item*2; else return wis+*aa_item*2; }
        inline sint16        GetCHA()                { int16 cha = GetBaseCHA() + itembonuses->CHA + spellbonuses->CHA; uint8 *aa_item = &(((uint8 *)&aa)[7]); if(cha>255)return cha+*aa_item*2; else return cha+*aa_item*2; }


Slayden 07-03-2003 06:30 AM

woot
 
Awsome, thanks a Ton!

Merth 07-14-2003 02:08 PM

Added to 0.5.0-DR1

(PS: Thanks!)

Memener 07-15-2003 06:16 AM

This may be stupied or what not but what do you souce the code?

Merth 07-15-2003 06:33 AM

Quote:

This may be stupied or what not but what do you souce the code?
I don't understand what you are asking about.

tcsmyworld 07-15-2003 07:06 AM

I actually added this into the last compile I did of 044.
It's avalable here-

http://forums.eqemu.net/viewtopic.php?t=8962


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

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