diff options
author | skotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2006-06-02 16:06:37 +0000 |
---|---|---|
committer | skotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2006-06-02 16:06:37 +0000 |
commit | fff2e817797bba24fa8e345f362e54ecd288ace3 (patch) | |
tree | 02afb1b3b599a347f1c6b01f1e95d04e71fd924e /src/map | |
parent | 0d4d70e54087a1c08bccfe18d4b18e5b0648308a (diff) | |
download | hercules-fff2e817797bba24fa8e345f362e54ecd288ace3.tar.gz hercules-fff2e817797bba24fa8e345f362e54ecd288ace3.tar.bz2 hercules-fff2e817797bba24fa8e345f362e54ecd288ace3.tar.xz hercules-fff2e817797bba24fa8e345f362e54ecd288ace3.zip |
- Corrected Brandish Spear to work on levels above 10.
- Updated Two-HandQuicken, One-HandQuicken to give 30 +2*lv% aspd-rate for skill levels above 10 (meant for boss casted skills)
- Fixed Spear-Quicken messing with the calc_flag
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@6936 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src/map')
-rw-r--r-- | src/map/skill.c | 5 | ||||
-rw-r--r-- | src/map/status.c | 31 |
2 files changed, 21 insertions, 15 deletions
diff --git a/src/map/skill.c b/src/map/skill.c index 05b3579f9..b5a54e041 100644 --- a/src/map/skill.c +++ b/src/map/skill.c @@ -3912,15 +3912,14 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, in case KN_BRANDISHSPEAR: /*ƒuƒ‰ƒ“ƒfƒBƒbƒVƒ…ƒXƒsƒA*/ { - int c,n=4,ar; + int c,n=4; int dir = map_calc_dir(src,bl->x,bl->y); struct square tc; int x=bl->x,y=bl->y; - ar=skilllv/3; skill_brandishspear_first(&tc,dir,x,y); skill_brandishspear_dir(&tc,dir,4); /* ”Í?‡C */ - if(skilllv == 10){ + if(skilllv > 9){ for(c=1;c<4;c++){ map_foreachincell(skill_area_sub, bl->m,tc.val1[c],tc.val2[c],BL_CHAR, diff --git a/src/map/status.c b/src/map/status.c index 428d76fdd..adeb09be1 100644 --- a/src/map/status.c +++ b/src/map/status.c @@ -3185,14 +3185,18 @@ static short status_calc_aspd_rate(struct block_list *bl, struct status_change * int max = 0; if(sc->data[SC_STAR_COMFORT].timer!=-1) max = sc->data[SC_STAR_COMFORT].val2; - if((sc->data[SC_TWOHANDQUICKEN].timer!=-1 || - sc->data[SC_ONEHAND].timer!=-1 - ) && max < 30) - max = 30; - + if(sc->data[SC_MADNESSCANCEL].timer!=-1 && max < 20) max = 20; - + + if(sc->data[SC_TWOHANDQUICKEN].timer!=-1 && + max < sc->data[SC_TWOHANDQUICKEN].val2) + max = sc->data[SC_TWOHANDQUICKEN].val2; + + if(sc->data[SC_ONEHAND].timer!=-1 && + max < sc->data[SC_ONEHAND].val2) + max = sc->data[SC_ONEHAND].val2; + if(sc->data[SC_ADRENALINE2].timer!=-1 && max < sc->data[SC_ADRENALINE2].val2) max = sc->data[SC_ADRENALINE2].val2; @@ -3951,7 +3955,7 @@ int status_change_start(struct block_list *bl,int type,int rate,int val1,int val struct map_session_data *sd = NULL; struct status_change* sc; struct status_data *status; - int opt_flag , calc_flag = 0, undead_flag; + int opt_flag , calc_flag, undead_flag; nullpo_retr(0, bl); sc=status_get_sc(bl); @@ -4423,12 +4427,15 @@ int status_change_start(struct block_list *bl,int type,int rate,int val1,int val } } else val2 = 0; break; - - case SC_SPEARQUICKEN: /* ƒXƒsƒAƒNƒCƒbƒPƒ“ */ - calc_flag = 1; + case SC_ONEHAND: + case SC_TWOHANDQUICKEN: + val2 = 30; + if (val1 > 10) //For boss casted skills [Skotlex] + val2 += 2*(val1-10); + break; + case SC_SPEARQUICKEN: val2 = 20+val1; break; - case SC_MOONLIT: val2 = bl->id; skill_setmapcell(bl,CG_MOONLIT, val1, CELL_SETMOONLIT); @@ -5265,7 +5272,7 @@ int status_change_end( struct block_list* bl , int type,int tid ) struct map_session_data *sd; struct status_change *sc; struct status_data *status; - int opt_flag=0, calc_flag = 0; + int opt_flag=0, calc_flag; nullpo_retr(0, bl); |