EQEmulator Forums

EQEmulator Forums (https://www.eqemulator.org/forums/index.php)
-   Development::Server Code Submissions (https://www.eqemulator.org/forums/forumdisplay.php?f=669)
-   -   Swift Journey AA (https://www.eqemulator.org/forums/showthread.php?t=26336)

AndMetal 09-26-2008 03:53 PM

Swift Journey AA
 
Another relatively easy one that just hasn't been implemented yet.

In zone/mob.cpp, change this
Code:

float Mob::_GetMovementSpeed(int mod) const {
        if (IsRooted())
                return 0.0f;
       
        float speed_mod = 1.0f;
       
        if (IsClient()){
                int32 aa_item = CastToClient()->GetAA(aaInnateRunSpeed);
                if (aa_item > 0 && aa_item < 4){
                        speed_mod += aa_item * 0.10;
                }
                //partial implementation of Fleet of Foot
                aa_item = CastToClient()->GetAA(aaFleetofFoot);
                if (aa_item > 0 && aa_item < 6){
                        speed_mod += aa_item * 0.10;
                }
                //Selo's Enduring Cadence should be +7% per level
        }

to this
Code:

float Mob::_GetMovementSpeed(int mod) const {
        // List of movement speed modifiers, including AAs & spells:
        // http://everquest.allakhazam.com/db/item.html?item=1721;page=1;howmany=50#m10822246245352

        if (IsRooted())
                return 0.0f;
       
        float speed_mod = 1.0f;
       
        if (IsClient()){
                int32 aa_item = CastToClient()->GetAA(aaInnateRunSpeed);
                if (aa_item > 0 && aa_item < 4){
                        speed_mod += aa_item * 0.10;
                }
                //partial implementation of Fleet of Foot
                aa_item = CastToClient()->GetAA(aaFleetofFoot);
                if (aa_item > 0 && aa_item < 6){
                        speed_mod += aa_item * 0.10;
                }
                aa_item = CastToClient()->GetAA(aaSwiftJourney);
                if (aa_item > 0 && aa_item < 3) {
                        speed_mod += aa_item * 0.10;
                }

                //Selo's Enduring Cadence should be +7% per level
        }


AndMetal 09-26-2008 06:02 PM

I think this might be an easier way to do all of the calculations, since GetAA() returns 0 by default:
Code:

float Mob::_GetMovementSpeed(int mod) const {
        // List of movement speed modifiers, including AAs & spells:
        // http://everquest.allakhazam.com/db/item.html?item=1721;page=1;howmany=50#m10822246245352

        if (IsRooted())
                return 0.0f;
       
        float speed_mod = 1.0f;
       
        if (IsClient()){
                speed_mod += ((CastToClient()->GetAA(aaInnateRunSpeed) * 0.10)
                        + (CastToClient()->GetAA(aaFleetofFoot) * 0.10)
                        + (CastToClient()->GetAA(aaSwiftJourney) * 0.10)
                );


                //Selo's Enduring Cadence should be +7% per level
        }



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

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