diff options
author | rud0lp20 <rud0lp20@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2012-06-18 16:15:43 +0000 |
---|---|---|
committer | rud0lp20 <rud0lp20@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2012-06-18 16:15:43 +0000 |
commit | 06ec4b33746917093e146d81e6742d80868d1fa0 (patch) | |
tree | 35ac38e43da917d6e9b7eecee299728f596e042f /src/map/status.c | |
parent | 082e468a1a3e7b581529fce6f8e6beffb5fdbb3b (diff) | |
download | hercules-06ec4b33746917093e146d81e6742d80868d1fa0.tar.gz hercules-06ec4b33746917093e146d81e6742d80868d1fa0.tar.bz2 hercules-06ec4b33746917093e146d81e6742d80868d1fa0.tar.xz hercules-06ec4b33746917093e146d81e6742d80868d1fa0.zip |
Fixed bugreport:6008 remove the weight factor with the damage done by LK_SPIRALPIERCE of mobs and recoding of Renewal Spiral Pierce.
Fixed bugreport:5752 SC_AUTOSHADOWSPELL should only consume required items and not sp.
Fixed bugreport:5792 updated WM_GLOOMYDAY status effect(mount, ASPD, walk & flee penalty) and should now boost selected skills.
Follow up r16309 and bugreport:5940 should now be fixed.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@16316 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src/map/status.c')
-rw-r--r-- | src/map/status.c | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/src/map/status.c b/src/map/status.c index 33d9f5670..d7e9fd35e 100644 --- a/src/map/status.c +++ b/src/map/status.c @@ -4830,7 +4830,7 @@ static unsigned short status_calc_speed(struct block_list *bl, struct status_cha if( sc->data[SC_DECREASEAGI] ) val = max( val, 25 ); - if( sc->data[SC_QUAGMIRE] || sc->data[SC_HALLUCINATIONWALK_POSTDELAY]) + if( sc->data[SC_QUAGMIRE] || sc->data[SC_HALLUCINATIONWALK_POSTDELAY] || (sc->data[SC_GLOOMYDAY] && sc->data[SC_GLOOMYDAY]->val4) ) val = max( val, 50 ); if( sc->data[SC_DONTFORGETME] ) val = max( val, sc->data[SC_DONTFORGETME]->val3 ); @@ -7756,8 +7756,17 @@ int status_change_start(struct block_list* bl,enum sc_type type,int rate,int val tick_time = val4; // [GodLesZ] tick time break; case SC_GLOOMYDAY: - val2 = 3 + 2 * val1; // Flee reduction. - val3 = 3 * val1; // ASPD reduction. + val2 = 20 + 5 * val1; // Flee reduction. + val3 = 15 + 5 * val1; // ASPD reduction. + if( rand()%100 < val1 ){ // (Skill Lv) % + val4 = 1; // reduce walk speed by half. + if( pc_isriding(sd) ) pc_setriding(sd, 0); + if( pc_isridingdragon(sd) ) pc_setoption(sd, sd->sc.option&~OPTION_DRAGON); + } + break; + case SC_GLOOMYDAY_SK: + // Random number between [15 ~ (Voice Lesson Skill Level x 5) + (Skill Level x 10)] %. + val2 = 15 + rand()%( (sd?pc_checkskill(sd, WM_LESSON)*5:0) + val1*10 ); break; case SC_SITDOWN_FORCE: case SC_BANANA_BOMB_SITDOWN: |