summaryrefslogtreecommitdiff
path: root/src/map/unit.c
diff options
context:
space:
mode:
authorprotimus <protimus@54d463be-8e91-2dee-dedb-b68131a5f0ec>2012-01-08 02:46:19 +0000
committerprotimus <protimus@54d463be-8e91-2dee-dedb-b68131a5f0ec>2012-01-08 02:46:19 +0000
commit6ba747880532b4278fed801896216146ac63a90d (patch)
tree94660136ac947cf5288cb5a0b4c39f9ef2de8fe5 /src/map/unit.c
parent7db42789c2baba7154d7df1388942752789a2f93 (diff)
downloadhercules-6ba747880532b4278fed801896216146ac63a90d.tar.gz
hercules-6ba747880532b4278fed801896216146ac63a90d.tar.bz2
hercules-6ba747880532b4278fed801896216146ac63a90d.tar.xz
hercules-6ba747880532b4278fed801896216146ac63a90d.zip
Fixed Exceed Break to work properly.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15407 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src/map/unit.c')
-rw-r--r--src/map/unit.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/map/unit.c b/src/map/unit.c
index 85a1b89f9..1cfa2bfa2 100644
--- a/src/map/unit.c
+++ b/src/map/unit.c
@@ -884,7 +884,7 @@ int unit_can_move(struct block_list *bl)
if (!ud)
return 0;
- if (ud->skilltimer != INVALID_TIMER && (!sd || !pc_checkskill(sd, SA_FREECAST) || skill_get_inf2(ud->skillid)&INF2_GUILD_SKILL))
+ if (ud->skilltimer != INVALID_TIMER && ud->skillid != LG_EXEEDBREAK && (!sd || !pc_checkskill(sd, SA_FREECAST) || skill_get_inf2(ud->skillid)&INF2_GUILD_SKILL))
return 0; // prevent moving while casting
if (DIFF_TICK(ud->canmove_tick, gettick()) > 0)
@@ -1286,7 +1286,7 @@ 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) > 0 )
+ if( sd && (pc_checkskill(sd,SA_FREECAST) > 0 || skill_num == LG_EXEEDBREAK) )
status_calc_bl(&sd->bl, SCB_SPEED);
}
else
@@ -1401,7 +1401,7 @@ int unit_skilluse_pos2( struct block_list *src, short skill_x, short skill_y, sh
unit_stop_walking(src,1);
clif_skillcasting(src, src->id, 0, skill_x, skill_y, skill_num, skill_get_ele(skill_num, skill_lv), casttime);
ud->skilltimer = add_timer( tick+casttime, skill_castend_pos, src->id, 0 );
- if( sd && pc_checkskill(sd,SA_FREECAST) > 0 )
+ if( (sd && pc_checkskill(sd,SA_FREECAST) > 0) || skill_num == LG_EXEEDBREAK)
status_calc_bl(&sd->bl, SCB_SPEED);
}
else