summaryrefslogtreecommitdiff
path: root/src/map/status.c
diff options
context:
space:
mode:
authorrud0lp20 <rud0lp20@54d463be-8e91-2dee-dedb-b68131a5f0ec>2012-06-18 16:15:43 +0000
committerrud0lp20 <rud0lp20@54d463be-8e91-2dee-dedb-b68131a5f0ec>2012-06-18 16:15:43 +0000
commit06ec4b33746917093e146d81e6742d80868d1fa0 (patch)
tree35ac38e43da917d6e9b7eecee299728f596e042f /src/map/status.c
parent082e468a1a3e7b581529fce6f8e6beffb5fdbb3b (diff)
downloadhercules-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.c15
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: