summaryrefslogtreecommitdiff
path: root/src/map
diff options
context:
space:
mode:
authorskotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec>2006-04-17 15:51:38 +0000
committerskotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec>2006-04-17 15:51:38 +0000
commit7cea51504f4d954bea849f279d46dbaca092539f (patch)
tree7fdb2a79220cf61ad59c2e76951f93e2d60b21e3 /src/map
parentb161f7c9964c8de431df6d2682588c15bd01896e (diff)
downloadhercules-7cea51504f4d954bea849f279d46dbaca092539f.tar.gz
hercules-7cea51504f4d954bea849f279d46dbaca092539f.tar.bz2
hercules-7cea51504f4d954bea849f279d46dbaca092539f.tar.xz
hercules-7cea51504f4d954bea849f279d46dbaca092539f.zip
- 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
Diffstat (limited to 'src/map')
-rw-r--r--src/map/skill.c3
-rw-r--r--src/map/unit.c12
2 files changed, 10 insertions, 5 deletions
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;