From ae6b1fa5f282bfa9822a9a8edaa9fd2f89a3e4e8 Mon Sep 17 00:00:00 2001 From: ultramage Date: Thu, 3 Jul 2008 03:24:58 +0000 Subject: Adjusted Free Cast code so that its walk penalty gets calculated in status_calc_speed and nowhere else. Removed aspd penalty from Free Cast since tests show it's not there, even though RO sites claim it is. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12904 54d463be-8e91-2dee-dedb-b68131a5f0ec --- src/map/unit.c | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) (limited to 'src/map/unit.c') diff --git a/src/map/unit.c b/src/map/unit.c index 07607603e..1da28c9e7 100644 --- a/src/map/unit.c +++ b/src/map/unit.c @@ -1086,8 +1086,8 @@ int unit_skilluse_id2(struct block_list *src, int target_id, short skill_num, sh if(casttime > 0) { ud->skilltimer = add_timer( tick+casttime, skill_castend_id, src->id, 0 ); - if(sd && pc_checkskill(sd,SA_FREECAST)) - status_freecast_switch(sd); + if( sd && pc_checkskill(sd,SA_FREECAST) > 0 ) + status_calc_bl(&sd->bl, SCB_SPEED); else unit_stop_walking(src,1); } @@ -1187,8 +1187,8 @@ int unit_skilluse_pos2( struct block_list *src, short skill_x, short skill_y, sh if(casttime > 0) { ud->skilltimer = add_timer( tick+casttime, skill_castend_pos, src->id, 0 ); - if(sd && pc_checkskill(sd,SA_FREECAST)) - status_freecast_switch(sd); + if( sd && pc_checkskill(sd,SA_FREECAST) > 0 ) + status_calc_bl(&sd->bl, SCB_SPEED); else unit_stop_walking(src,1); } @@ -1520,9 +1520,11 @@ int unit_skillcastcancel(struct block_list *bl,int type) return 0; } - ud->canact_tick=tick; - if(sd && pc_checkskill(sd,SA_FREECAST)) - status_freecast_switch(sd); + ud->canact_tick = tick; + ud->skilltimer = -1; + + if( sd && pc_checkskill(sd,SA_FREECAST) > 0 ) + status_calc_bl(&sd->bl, SCB_SPEED); if(type&1 && sd) skill = sd->skillid_old; @@ -1538,7 +1540,6 @@ int unit_skillcastcancel(struct block_list *bl,int type) if(bl->type==BL_MOB) ((TBL_MOB*)bl)->skillidx = -1; - ud->skilltimer = -1; clif_skillcastcancel(bl); return 1; } -- cgit v1.2.3-60-g2f50