summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorshennetsind <shennetsind@54d463be-8e91-2dee-dedb-b68131a5f0ec>2011-12-23 14:29:53 +0000
committershennetsind <shennetsind@54d463be-8e91-2dee-dedb-b68131a5f0ec>2011-12-23 14:29:53 +0000
commit1480c4ee7007b58a15c5b4f8f935d502f8f2a4e6 (patch)
tree0c5fa30b27275181edb85e546fdf3d30a3f34c36 /src
parentc6fa88dcd30c2d21a3593d348acda2f23eb03c60 (diff)
downloadhercules-1480c4ee7007b58a15c5b4f8f935d502f8f2a4e6.tar.gz
hercules-1480c4ee7007b58a15c5b4f8f935d502f8f2a4e6.tar.bz2
hercules-1480c4ee7007b58a15c5b4f8f935d502f8f2a4e6.tar.xz
hercules-1480c4ee7007b58a15c5b4f8f935d502f8f2a4e6.zip
Fixed all sniper traps (except ankle snare) from working on their owner; bugreport:1154
Also fixed a gcc warning in status.c git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15231 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src')
-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;