summaryrefslogtreecommitdiff
path: root/src/map/unit.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/map/unit.c')
-rw-r--r--src/map/unit.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/map/unit.c b/src/map/unit.c
index 07b728f47..e1e9d9690 100644
--- a/src/map/unit.c
+++ b/src/map/unit.c
@@ -1276,6 +1276,10 @@ int unit_skilluse_id2(struct block_list *src, int target_id, short skill_num, sh
casttime = skill_vfcastfix(src, casttime, skill_num, skill_lv);
#endif
+ if (src->type == BL_NPC) { // NPC-objects do not have cast time
+ casttime = 0;
+ }
+
if(!ud->state.running) //need TK_RUN or WUGDASH handler to be done before that, see bugreport:6026
unit_stop_walking(src,1);// eventhough this is not how official works but this will do the trick. bugreport:6829
// in official this is triggered even if no cast time.
@@ -1439,6 +1443,9 @@ int unit_skilluse_pos2( struct block_list *src, short skill_x, short skill_y, sh
casttime = skill_vfcastfix(src, casttime, skill_num, skill_lv );
#endif
+ if (src->type == BL_NPC) { // NPC-objects do not have cast time
+ casttime = 0;
+ }
ud->state.skillcastcancel = castcancel&&casttime>0?1:0;
if( !sd || sd->skillitem != skill_num || skill_get_cast(skill_num,skill_lv) )