summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorshennetsind <shennetsind@54d463be-8e91-2dee-dedb-b68131a5f0ec>2012-05-03 01:58:24 +0000
committershennetsind <shennetsind@54d463be-8e91-2dee-dedb-b68131a5f0ec>2012-05-03 01:58:24 +0000
commit00354ac69bcc6bd70c9a0110236664875958dd1e (patch)
tree9000a0d9300ed0de6f68681eff5f321004a39d1e
parentea120ab0fbc97d38cda4b0691cb53890dd40b57a (diff)
downloadhercules-00354ac69bcc6bd70c9a0110236664875958dd1e.tar.gz
hercules-00354ac69bcc6bd70c9a0110236664875958dd1e.tar.bz2
hercules-00354ac69bcc6bd70c9a0110236664875958dd1e.tar.xz
hercules-00354ac69bcc6bd70c9a0110236664875958dd1e.zip
Fixed bugreport:5573 Ranger Electric Shocker Trap should now be fully functional.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@16057 54d463be-8e91-2dee-dedb-b68131a5f0ec
-rw-r--r--src/map/skill.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/map/skill.c b/src/map/skill.c
index 90b84ad3a..484fb2915 100644
--- a/src/map/skill.c
+++ b/src/map/skill.c
@@ -10837,6 +10837,24 @@ int skill_unit_onplace_timer (struct skill_unit *src, struct block_list *bl, uns
}
break;
+ case UNT_ELECTRICSHOCKER:
+ if( bl->id != ss->id ) {
+ int sec = skill_get_time2(sg->skill_id, sg->skill_lv);
+ if( status_get_mode(bl)&MD_BOSS )
+ break;
+ if( status_change_start(bl,type,10000,sg->skill_lv,sg->group_id,0,0,sec, 8) ) {
+ const struct TimerData* td = tsc->data[type]?get_timer(tsc->data[type]->timer):NULL;
+ if( td )
+ sec = DIFF_TICK(td->tick, tick);
+ map_moveblock(bl, src->bl.x, src->bl.y, tick);
+ clif_fixpos(bl);
+ } 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;
+ }
+ break;
+
case UNT_VENOMDUST:
if(tsc && !tsc->data[type])
status_change_start(bl,type,10000,sg->skill_lv,sg->group_id,0,0,skill_get_time2(sg->skill_id,sg->skill_lv),0);
@@ -14446,6 +14464,7 @@ static int skill_unit_timer_sub(DBKey key, DBData *data, va_list ap)
break;
case UNT_ANKLESNARE:
+ case UNT_ELECTRICSHOCKER:
if( group->val2 > 0 ) {
// Used Trap don't returns back to item
skill_delunit(unit);