PDA

View Full Version : Code for STR/STA/AGI/DEX/INT/WIS/CHA Luclin AAs


killspree
07-02-2003, 10:47 PM
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:

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:

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:

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:

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
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
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