From 7cea51504f4d954bea849f279d46dbaca092539f Mon Sep 17 00:00:00 2001 From: skotlex Date: Mon, 17 Apr 2006 15:51:38 +0000 Subject: - Fixed TK_RUN having a cast-bar when attempting to stop-running and generating timer_delete errors when halting as well. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@6135 54d463be-8e91-2dee-dedb-b68131a5f0ec --- src/map/skill.c | 3 ++- src/map/unit.c | 12 ++++++++---- 2 files changed, 10 insertions(+), 5 deletions(-) (limited to 'src') diff --git a/src/map/skill.c b/src/map/skill.c index ee9c55385..d728a7a9f 100644 --- a/src/map/skill.c +++ b/src/map/skill.c @@ -5747,7 +5747,8 @@ int skill_castend_id( int tid, unsigned int tick, int id,int data ) if(sd && !skill_check_condition(sd,ud->skillid, ud->skilllv,1)) /* 使用条件チェック */ break; - unit_stop_walking(src,0); + if (ud->walktimer != -1 && ud->skillid != TK_RUN) + unit_stop_walking(src,0); if (ud->skillid == SA_MAGICROD) ud->canact_tick = tick; diff --git a/src/map/unit.c b/src/map/unit.c index 82f628a2a..f1c61c934 100644 --- a/src/map/unit.c +++ b/src/map/unit.c @@ -503,10 +503,6 @@ int unit_stop_walking(struct block_list *bl,int type) if(!ud || ud->walktimer == -1) return 0; - sc = status_get_sc(bl); - if (sc && sc->count && sc->data[SC_RUN].timer != -1) - status_change_end(bl, SC_RUN, -1); - // if(md) { md->state.skillstate = MSS_IDLE; } if(type&0x01) // 位置補正送信が必要 clif_fixpos(bl); @@ -531,6 +527,10 @@ int unit_stop_walking(struct block_list *bl,int type) if(type&~0xff) ud->canmove_tick = gettick() + (type>>8); } + sc = status_get_sc(bl); + if (sc && sc->count && sc->data[SC_RUN].timer != -1) + status_change_end(bl, SC_RUN, -1); + return 1; } @@ -816,6 +816,10 @@ int unit_skilluse_id2(struct block_list *src, int target_id, int skill_num, int casttime = 0; temp = 1; break; + case TK_RUN: + if (sc && sc->data[SC_RUN].timer != -1) + casttime = 0; + break; case SA_MAGICROD: case SA_SPELLBREAKER: temp =1; -- cgit v1.2.3-70-g09d2