Кароче для полной уверености понаставил костылей чтоб быть уверенным, теперь должно работать так (нужна смена ядра ручная перезагрузка).


Перед удалением скиллов двойного класса из базы мы делаем быстрый запрос, чтобы проверить, были ли у персонажа выучены скиллы 30930 (Eraton's Spear) и 30931 (Masia's Shield), и запоминаем их текущий уровень. Происходит стандартное удаление и замена двойного класса.


Если скиллы не были выучены (уровень = 0), система просматривает дерево скиллов для нового двойного класса и находит максимальный уровень этих скиллов, который доступен новому классу на его уровне.


Затем система заново добавляет (или восстанавливает) эти скиллы новому двойному классу с соответствующим уровнем. Если активен именно этот двойной класс, скиллы сразу появятся в игре (добавляются в память addSkill). Если класс сменили "в фоне" (игрок сейчас на основном классе), скиллы просто бережно сохраняются в базу данных (storeSkill) и будут ждать переключения на двойной класс.