summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/map/skill.c5
-rw-r--r--src/map/status.c5
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;