diff options
-rw-r--r-- | src/map/skill.c | 5 | ||||
-rw-r--r-- | src/map/status.c | 5 |
2 files changed, 8 insertions, 2 deletions
diff --git a/src/map/skill.c b/src/map/skill.c index ebb8f170b..b8a4a347a 100644 --- a/src/map/skill.c +++ b/src/map/skill.c @@ -9185,6 +9185,11 @@ int skill_unit_onplace_timer (struct skill_unit *src, struct block_list *bl, uns case UNT_VERDURETRAP: case UNT_FIRINGTRAP: case UNT_ICEBOUNDTRAP: + /** + * The owner of these traps (all but ankle snare) cannot be affected by it + **/ + if (sg->src_id == bl->id) + break; map_foreachinrange(skill_trap_splash,&src->bl, skill_get_splash(sg->skill_id, sg->skill_lv), sg->bl_flag, &src->bl,tick); if (sg->unit_id != UNT_FIREPILLAR_ACTIVE) clif_changetraplook(&src->bl, sg->unit_id==UNT_LANDMINE?UNT_FIREPILLAR_ACTIVE:UNT_USED_TRAPS); diff --git a/src/map/status.c b/src/map/status.c index 09561c85e..738a62c45 100644 --- a/src/map/status.c +++ b/src/map/status.c @@ -8357,8 +8357,9 @@ int status_change_timer(int tid, unsigned int tick, int id, intptr_t data) if (!sc->data[SC_SLOWPOISON]) { map_freeblock_lock(); status_zap(bl, sce->val4, 0); - if (sc->data[type]) // Check if the status still last ( can be dead since then ). - sc_timer_next(1000 + tick, status_change_timer, bl->id, data ); + if (sc->data[type]) { // Check if the status still last ( can be dead since then ). + sc_timer_next(1000 + tick, status_change_timer, bl->id, data ); + } map_freeblock_unlock(); } return 0; |