summaryrefslogtreecommitdiff
path: root/src/map/skill.c
diff options
context:
space:
mode:
authorrud0lp20 <rud0lp20@54d463be-8e91-2dee-dedb-b68131a5f0ec>2012-07-12 16:39:58 +0000
committerrud0lp20 <rud0lp20@54d463be-8e91-2dee-dedb-b68131a5f0ec>2012-07-12 16:39:58 +0000
commit812a49d677a9e208fc12d66d315a62a05f79d51b (patch)
treed0f0ec79d2fb0b75547fe57d433c291fa6bb60d1 /src/map/skill.c
parentc2da0a3c7938b6461c3293b31d0e2f0db723f8d3 (diff)
downloadhercules-812a49d677a9e208fc12d66d315a62a05f79d51b.tar.gz
hercules-812a49d677a9e208fc12d66d315a62a05f79d51b.tar.bz2
hercules-812a49d677a9e208fc12d66d315a62a05f79d51b.tar.xz
hercules-812a49d677a9e208fc12d66d315a62a05f79d51b.zip
Fixed bugreport:6215 where using SR_CRESCENTELBOW can cause map server crashing when hit by 1HKO.
Fixed bugreport:6201 traps should now activate its splash damage properly. Follow up r16399 where Leech End ignoring Phen card's effect. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@16416 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src/map/skill.c')
-rw-r--r--src/map/skill.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/src/map/skill.c b/src/map/skill.c
index c2c4f23de..916f36d7c 100644
--- a/src/map/skill.c
+++ b/src/map/skill.c
@@ -10926,7 +10926,7 @@ int skill_unit_onplace_timer (struct skill_unit *src, struct block_list *bl, uns
} else
sec = 3000; //Couldn't trap it?
map_foreachinrange(skill_trap_splash, &src->bl, skill_get_splash(sg->skill_id, sg->skill_lv), sg->bl_flag, &src->bl, tick);
- src->range = -1;
+ sg->unit_id = UNT_USED_TRAPS; //Changed ID so it does not invoke a for each in area again.
}
break;
@@ -10956,8 +10956,8 @@ int skill_unit_onplace_timer (struct skill_unit *src, struct block_list *bl, uns
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);
- src->range = -1; //Disable range so it does not invoke a for each in area again.
sg->limit=DIFF_TICK(tick,sg->tick)+1500 + (sg->unit_id== UNT_CLUSTERBOMB?1000:0);// Cluster Bomb has 1s to disappear once activated.
+ sg->unit_id = UNT_USED_TRAPS; //Changed ID so it does not invoke a for each in area again.
break;
case UNT_TALKIEBOX:
@@ -13846,7 +13846,6 @@ int skill_detonator(struct block_list *bl, va_list ap)
clif_changetraplook(bl,unit_id == UNT_FIRINGTRAP ? UNT_DUMMYSKILL : UNT_USED_TRAPS);
unit->group->unit_id = UNT_USED_TRAPS;
- unit->range = -1;
unit->group->limit = DIFF_TICK(gettick(),unit->group->tick) + (unit_id == UNT_TALKIEBOX ? 5000 : (unit_id == UNT_CLUSTERBOMB ? 2500 : 1500) );
break;
}