summaryrefslogtreecommitdiff
path: root/src/map/skill.c
diff options
context:
space:
mode:
authorcsnv <ctt@csnv.es>2014-09-13 19:11:12 +0200
committercsnv <ctt@csnv.es>2014-09-13 19:11:12 +0200
commitad3c8a1ad28c40845125556bc23f0d5f089859cb (patch)
tree8b7fdb7227998d0bb135c33295d43163d7c8819a /src/map/skill.c
parentaba829d912c3392a0fdd5dff2a834559e88a5506 (diff)
downloadhercules-ad3c8a1ad28c40845125556bc23f0d5f089859cb.tar.gz
hercules-ad3c8a1ad28c40845125556bc23f0d5f089859cb.tar.bz2
hercules-ad3c8a1ad28c40845125556bc23f0d5f089859cb.tar.xz
hercules-ad3c8a1ad28c40845125556bc23f0d5f089859cb.zip
Fix SO_VACUUM_EXTREME moves target into the center of the skill. Bug 8330: http://hercules.ws/board/tracker/issue-8330-extreme-vacuum-skill-behavior/
Diffstat (limited to 'src/map/skill.c')
-rw-r--r--src/map/skill.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/map/skill.c b/src/map/skill.c
index fc162d430..46b92c302 100644
--- a/src/map/skill.c
+++ b/src/map/skill.c
@@ -11156,6 +11156,10 @@ struct skill_unit_group* skill_unitsetting(struct block_list *src, uint16 skill_
case SO_WARMER:
skill->clear_group(src, 8);
break;
+ case SO_VACUUM_EXTREME:
+ val1 = x;
+ val2 = y;
+ break;
case GN_WALLOFTHORN:
if( flag&1 )
limit = 3000;
@@ -12192,6 +12196,11 @@ int skill_unit_onplace_timer(struct skill_unit *src, struct block_list *bl, int6
} else {
sg->limit -= 100 * tstatus->str/20;
sc_start(ss, bl, SC_VACUUM_EXTREME, 100, sg->skill_lv, sg->limit);
+
+ if (unit->movepos(bl, sg->val1, sg->val2, 0, 0)) {
+ clif->slide(bl, sg->val1, sg->val2);
+ clif->fixpos(bl);
+ }
}
break;