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://svn.code.sf.net/p/rathena/svn/trunk@15231 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
shennetsind 2011-12-23 14:29:53 +00:00
parent 9f200dc142
commit 44895043e6
2 changed files with 8 additions and 2 deletions

View File

@ -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);

View File

@ -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;