summaryrefslogtreecommitdiff
path: root/src/map/status.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/map/status.c')
-rw-r--r--src/map/status.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/map/status.c b/src/map/status.c
index 2f83caf52..7cf76c56e 100644
--- a/src/map/status.c
+++ b/src/map/status.c
@@ -9783,7 +9783,10 @@ int status_change_timer(int tid, unsigned int tick, int id, intptr_t data)
case SC_SIGHT:
case SC_RUWACH:
case SC_SIGHTBLASTER:
- map_foreachinrange( status_change_timer_sub, bl, sce->val3, BL_CHAR, bl, sce, type, tick);
+ if(type == SC_SIGHTBLASTER)
+ map_foreachinrange( status_change_timer_sub, bl, sce->val3, BL_CHAR|BL_SKILL, bl, sce, type, tick);
+ else
+ map_foreachinrange( status_change_timer_sub, bl, sce->val3, BL_CHAR, bl, sce, type, tick);
if( --(sce->val2)>0 ){
sce->val4 += 250; // use for Shadow Form 2 seconds checking.
@@ -10566,7 +10569,8 @@ int status_change_timer_sub(struct block_list* bl, va_list ap)
status_check_skilluse(src, bl, WZ_SIGHTBLASTER, 2))
{
skill_attack(BF_MAGIC,src,src,bl,WZ_SIGHTBLASTER,1,tick,0);
- if (sce) sce->val2 = 0; //This signals it to end.
+ if (sce && !(bl->type&BL_SKILL)) //The hit is not counted if it's against a trap
+ sce->val2 = 0; //This signals it to end.
}
break;
case SC_CLOSECONFINE: