diff options
author | skotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2006-11-21 20:54:22 +0000 |
---|---|---|
committer | skotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2006-11-21 20:54:22 +0000 |
commit | 48e10b3db33490516e6fe9562d96cfa497be025e (patch) | |
tree | b6b28855db8a429ca73225f5033dadca8c1275e6 /src/map/status.c | |
parent | 11414d1e6ba30951ca99071255d479b64858464f (diff) | |
download | hercules-48e10b3db33490516e6fe9562d96cfa497be025e.tar.gz hercules-48e10b3db33490516e6fe9562d96cfa497be025e.tar.bz2 hercules-48e10b3db33490516e6fe9562d96cfa497be025e.tar.xz hercules-48e10b3db33490516e6fe9562d96cfa497be025e.zip |
- Corrected GS_DISARM, it is now a normal attack, which, when it connects, has a chance to do strip weapon ar a 3*lv% rate (modified by dex)
- Fixed GS_PIERCINGSHOT, it should ignore defense
- Corrected Gatling Fever costing SP when trying to turn it off. Also, speed increases bonuses won't take effect while it's active.
- Updated the main makefile with a new OPT line. It is commented by default since it only works with GCC 4.X, when unset, it will hide away a huge amount of warnings that have to do with stuff that is not gonna be corrected in eA anyway.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9287 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src/map/status.c')
-rw-r--r-- | src/map/status.c | 41 |
1 files changed, 21 insertions, 20 deletions
diff --git a/src/map/status.c b/src/map/status.c index 95b63ba92..ebab67eb1 100644 --- a/src/map/status.c +++ b/src/map/status.c @@ -3635,26 +3635,27 @@ static unsigned short status_calc_speed(struct block_list *bl, struct status_cha if(sc->data[SC_WEDDING].timer!=-1)
speed += 300;
- //% increases (they don't stack, with the exception of Speedup1? @.@)
- if(sc->data[SC_SPEEDUP1].timer!=-1)
- speed -= speed * 50/100;
- if(sc->data[SC_RUN].timer!=-1)
- speed -= speed * 50/100;
- else if(sc->data[SC_SPEEDUP0].timer!=-1)
- speed -= speed * 25/100;
- else if(sc->data[SC_INCREASEAGI].timer!=-1)
- speed -= speed * 25/100;
- else if(sc->data[SC_FUSION].timer != -1)
- speed -= speed * 25/100;
- else if(sc->data[SC_CARTBOOST].timer!=-1)
- speed -= speed * 20/100;
- else if(sc->data[SC_BERSERK].timer!=-1)
- speed -= speed * 20/100;
- else if(sc->data[SC_AVOID].timer!=-1)
- speed -= speed * sc->data[SC_AVOID].val2/100;
- else if(sc->data[SC_WINDWALK].timer!=-1)
- speed -= speed * sc->data[SC_WINDWALK].val3/100;
-
+ if(sc->data[SC_GATLINGFEVER].timer==-1)
+ { //% increases (they don't stack, with the exception of Speedup1? @.@)
+ if(sc->data[SC_SPEEDUP1].timer!=-1)
+ speed -= speed * 50/100;
+ if(sc->data[SC_RUN].timer!=-1)
+ speed -= speed * 50/100;
+ else if(sc->data[SC_SPEEDUP0].timer!=-1)
+ speed -= speed * 25/100;
+ else if(sc->data[SC_INCREASEAGI].timer!=-1)
+ speed -= speed * 25/100;
+ else if(sc->data[SC_FUSION].timer != -1)
+ speed -= speed * 25/100;
+ else if(sc->data[SC_CARTBOOST].timer!=-1)
+ speed -= speed * 20/100;
+ else if(sc->data[SC_BERSERK].timer!=-1)
+ speed -= speed * 20/100;
+ else if(sc->data[SC_AVOID].timer!=-1)
+ speed -= speed * sc->data[SC_AVOID].val2/100;
+ else if(sc->data[SC_WINDWALK].timer!=-1)
+ speed -= speed * sc->data[SC_WINDWALK].val3/100;
+ }
//% reductions (they stack)
if(sc->data[SC_DANCING].timer!=-1 && sc->data[SC_DANCING].val3&0xFFFF)
speed += speed*(sc->data[SC_DANCING].val3&0xFFFF)/100;
|