diff options
author | shennetsind <shennetsind@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2011-12-23 14:29:53 +0000 |
---|---|---|
committer | shennetsind <shennetsind@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2011-12-23 14:29:53 +0000 |
commit | 1480c4ee7007b58a15c5b4f8f935d502f8f2a4e6 (patch) | |
tree | 0c5fa30b27275181edb85e546fdf3d30a3f34c36 | |
parent | c6fa88dcd30c2d21a3593d348acda2f23eb03c60 (diff) | |
download | hercules-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
-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; |