summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorshennetsind <ind@henn.et>2015-03-13 14:09:05 -0300
committershennetsind <ind@henn.et>2015-03-13 14:09:05 -0300
commit2b71c036298756d294d10141ce6196a48d783930 (patch)
tree27f81b3deae8eb79a3a9c00b518c9a5236e2de61
parent5909d734d21ef7222a858c010b4a32c9fdf68d6f (diff)
downloadhercules-2b71c036298756d294d10141ce6196a48d783930.tar.gz
hercules-2b71c036298756d294d10141ce6196a48d783930.tar.bz2
hercules-2b71c036298756d294d10141ce6196a48d783930.tar.xz
hercules-2b71c036298756d294d10141ce6196a48d783930.zip
Fixed Bug 8544
Special Thanks to Legend for all the info on how to reproduce. Blame goes to 3089a7d2d2dc655fb955b90ec152c0ba569bd4e2 http://hercules.ws/board/tracker/issue-8544-map-freeblock-timer/ Signed-off-by: shennetsind <ind@henn.et>
-rw-r--r--src/map/skill.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/map/skill.c b/src/map/skill.c
index 19b3cb691..31b8384db 100644
--- a/src/map/skill.c
+++ b/src/map/skill.c
@@ -6923,6 +6923,7 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl, uin
sc_start(src,bl,type,100,skill_lv,skill->get_time(skill_id,skill_lv)));
else {
clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ map->freeblock_unlock();
return 0;
}
break;
@@ -6934,6 +6935,7 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl, uin
sc_start(src,bl,type,100,skill_lv,skill->get_time(skill_id,skill_lv)));
else {
clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ map->freeblock_unlock();
return 0;
}
}
@@ -6944,6 +6946,7 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl, uin
sc_start(src,bl,type,100,skill_lv,skill->get_time(skill_id,skill_lv)));
else {
clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ map->freeblock_unlock();
return 0;
}
break;
@@ -6953,6 +6956,7 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl, uin
sc_start(src,bl,type,100,skill_lv,skill->get_time(skill_id,skill_lv)));
else {
clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ map->freeblock_unlock();
return 0;
}
break;
@@ -7659,6 +7663,7 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl, uin
clif->skill_nodamage(src,bl,skill_id,skill_lv,1);
else {
clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ map->freeblock_unlock();
return 0;
}
}