Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fixes Elemental Converter and equip swap #6181

Merged
merged 2 commits into from Aug 17, 2021
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
@@ -10960,8 +10960,8 @@ bool pc_unequipitem(struct map_session_data *sd, int n, int flag) {
break;
}
}
if (!sd->sc.data[SC_SEVENWIND] || sd->sc.data[SC_ASPERSIO]) //Check for seven wind (but not level seven!)
skill_enchant_elemental_end(&sd->bl, SC_NONE);

skill_enchant_elemental_end(&sd->bl, SC_NONE);
status_change_end(&sd->bl, SC_FEARBREEZE, INVALID_TIMER);
status_change_end(&sd->bl, SC_EXEEDBREAK, INVALID_TIMER);
}
@@ -18367,7 +18367,15 @@ void skill_enchant_elemental_end(struct block_list *bl, int type)
if (!sc->count)
return;

status_change_end(bl, SC_ENCHANTARMS, INVALID_TIMER); // Should always end
// If it is not on equip change
if (type != SC_NONE)
aleos89 marked this conversation as resolved.
Show resolved Hide resolved
status_change_end(bl, SC_ENCHANTARMS, INVALID_TIMER); // Should always end except on equip change
aleos89 marked this conversation as resolved.
Show resolved Hide resolved
else {
// Check for seven wind (but not level seven!)
if (sc->data[SC_SEVENWIND] && sc->data[SC_SEVENWIND]->val1 < 7)
return;
}

for (i = 0; i < ARRAYLENGTH(scs); i++)
if (type != scs[i] && sc->data[scs[i]])
status_change_end(bl, scs[i], INVALID_TIMER);