summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/map/skill.c14
-rw-r--r--src/map/unit.c4
2 files changed, 14 insertions, 4 deletions
diff --git a/src/map/skill.c b/src/map/skill.c
index 61749e058..ac1702fcd 100644
--- a/src/map/skill.c
+++ b/src/map/skill.c
@@ -950,8 +950,11 @@ int skill_additional_effect (struct block_list* src, struct block_list *bl, int
ud = unit_bl2ud(src);
if (ud) {
rate = skill_delayfix(src, skill, skilllv);
- if (DIFF_TICK(ud->canact_tick, tick + rate) < 0)
+ if (DIFF_TICK(ud->canact_tick, tick + rate) < 0){
ud->canact_tick = tick+rate;
+ if ( battle_config.display_status_timers && sd )
+ clif_status_change(src, SI_ACTIONDELAY, 1, rate);
+ }
}
break; //Only one auto skill comes off at a time.
}
@@ -1197,8 +1200,11 @@ int skill_counter_additional_effect (struct block_list* src, struct block_list *
ud = unit_bl2ud(bl);
if (ud) {
rate = skill_delayfix(bl, skillid, skilllv);
- if (DIFF_TICK(ud->canact_tick, tick + rate) < 0)
+ if (DIFF_TICK(ud->canact_tick, tick + rate) < 0){
ud->canact_tick = tick+rate;
+ if ( battle_config.display_status_timers && dstsd )
+ clif_status_change(bl, SI_ACTIONDELAY, 1, rate);
+ }
}
break; //trigger only one auto-spell per hit.
}
@@ -5667,6 +5673,8 @@ int skill_castend_id(int tid, unsigned int tick, int id, intptr data)
unit_stop_walking(src,1);
ud->canact_tick = tick + skill_delayfix(src, ud->skillid, ud->skilllv);
+ if ( battle_config.display_status_timers && sd )
+ clif_status_change(src, SI_ACTIONDELAY, 1, skill_delayfix(src, ud->skillid, ud->skilllv));
if (skill_get_state(ud->skillid) != ST_MOVE_ENABLE)
unit_set_walkdelay(src, tick, battle_config.default_walk_delay+skill_get_walkdelay(ud->skillid, ud->skilllv), 1);
@@ -5844,6 +5852,8 @@ int skill_castend_pos(int tid, unsigned int tick, int id, intptr data)
src->type, src->id, ud->skillid, ud->skilllv, ud->skillx, ud->skilly);
unit_stop_walking(src,1);
ud->canact_tick = tick + skill_delayfix(src, ud->skillid, ud->skilllv);
+ if ( battle_config.display_status_timers && sd )
+ clif_status_change(src, SI_ACTIONDELAY, 1, skill_delayfix(src, ud->skillid, ud->skilllv));
unit_set_walkdelay(src, tick, battle_config.default_walk_delay+skill_get_walkdelay(ud->skillid, ud->skilllv), 1);
map_freeblock_lock();
diff --git a/src/map/unit.c b/src/map/unit.c
index d358e9979..44ca13731 100644
--- a/src/map/unit.c
+++ b/src/map/unit.c
@@ -1071,7 +1071,7 @@ int unit_skilluse_id2(struct block_list *src, int target_id, short skill_num, sh
ud->canact_tick = tick + casttime + 100;
if ( battle_config.display_status_timers && sd )
- clif_status_change(src, SI_ACTIONDELAY, 1, ud->canact_tick);
+ clif_status_change(src, SI_ACTIONDELAY, 1, casttime);
ud->skilltarget = target_id;
ud->skillx = 0;
ud->skilly = 0;
@@ -1178,7 +1178,7 @@ int unit_skilluse_pos2( struct block_list *src, short skill_x, short skill_y, sh
ud->canact_tick = tick + casttime + 100;
if ( battle_config.display_status_timers && sd )
- clif_status_change(src, SI_ACTIONDELAY, 1, ud->canact_tick);
+ clif_status_change(src, SI_ACTIONDELAY, 1, casttime);
ud->skillid = skill_num;
ud->skilllv = skill_lv;
ud->skillx = skill_x;