summaryrefslogtreecommitdiff
path: root/src/map
diff options
context:
space:
mode:
authorskotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec>2006-06-02 16:06:37 +0000
committerskotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec>2006-06-02 16:06:37 +0000
commitfff2e817797bba24fa8e345f362e54ecd288ace3 (patch)
tree02afb1b3b599a347f1c6b01f1e95d04e71fd924e /src/map
parent0d4d70e54087a1c08bccfe18d4b18e5b0648308a (diff)
downloadhercules-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.c5
-rw-r--r--src/map/status.c31
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);