diff options
Diffstat (limited to 'src/map/status.c')
-rw-r--r-- | src/map/status.c | 8 |
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: |