Corrected Vacuum Extreme behavior (#2526)

* Fixes #2497.
* Vacuum Extreme will now pull players into the center.
* Vacuum Extreme should only pull in players that stop within it's AoE.
* It will now ignore "no knockback" bonuses players have.
Thanks to @esu1214, @cydh and @exneval!
This commit is contained in:
Aleos
2019-12-23 18:36:54 -05:00
committed by GitHub
parent b0119631a4
commit 464fd40607
3 changed files with 9 additions and 9 deletions

View File

@@ -14290,9 +14290,9 @@ int skill_unit_onplace_timer(struct skill_unit *unit, struct block_list *bl, t_t
if (tsc && (tsc->data[SC_HALLUCINATIONWALK] || tsc->data[SC_HOVERING] || tsc->data[SC_VACUUM_EXTREME] ||
(tsc->data[SC_VACUUM_EXTREME_POSTDELAY] && tsc->data[SC_VACUUM_EXTREME_POSTDELAY]->val2 == sg->group_id))) // Ignore post delay from other vacuum (this will make stack effect enabled)
return 0;
else
// Apply effect and suck targets one-by-one each n seconds
sc_start4(ss, bl, SC_VACUUM_EXTREME, 100, sg->skill_lv, sg->group_id, (sg->val1<<16)|(sg->val2), ++sg->val3*500, (sg->limit - DIFF_TICK(tick, sg->tick)));
if (unit_bl2ud(bl)->walktimer == INVALID_TIMER) // Apply effect and suck non-walking targets one-by-one each n seconds
sc_start4(ss, bl, type, 100, sg->skill_lv, sg->group_id, (sg->val1<<16)|(sg->val2), ++sg->val3*500, (sg->limit - DIFF_TICK(tick, sg->tick)));
break;
case UNT_BANDING: