Первый символ указывает на класс:
0 Druid
c Hunter
o Mage
s Paladin
b Priest
f Rogue
h Shaman
I Warlock
L Warrior
j Death Knight
Остальные символы указывают, где в каждом дереве были выделены точки. Каждое дерево является отдельным, разделенным «Z». Так, например, если все точки находятся в третьем дереве, тогда 2-й и 3-й символы будут "ZZ", обозначая "конец первого дерева" и "конец второго дерева".
Чтобы сгенерировать код для данного дерева, разбейте таланты на пары, идущие слева направо и сверху вниз. Каждая пара талантов представлена одним персонажем. Так, например, в сегменте дерева Крови ДК первый символ будет указывать количество очков, выделенных для Мясника и Подрывной деятельности, а второй символ будет обозначать Барьерный клинок и Доспех с клинком.
Какой символ представляет каждое распределение среди пары? Я уверен, что есть алгоритм, вероятно, основанный на наборе символов ASCII, но все, что я до сих пор работал, - это таблица поиска. Найдите количество очков во втором таланте вдоль верхней части и количество очков во втором таланте вдоль левой стороны. Кодированный символ находится на пересечении.
0 1 2 3 4 5
0 0 o b h L x
1 z k d u p t
2 M R r G T g
3 c s f I j e
4 m a w N n v
5 V q i A y E
Так что, если у нашего Рыцаря Смерти есть одно очко в Мясничестве и два очка в Подрывной деятельности, первым персонажем является 'R'. Если вместо этого мы не ставим точки в этих двух и пяти в Blade Barrier, первые два символа будут «0x». Конечные '0' (все остальные пары в дереве без выделенных точек) могут быть опущены, также как и конечные разделители 'Z' (когда в последующих деревьях нет точек). В одном последнем примере весь код DK с единственной точкой в Стойкости был бы «jZ0o»: «Рыцарь смерти», «Конец первого дерева», «Нет точек в первой паре талантов», «один Точка в первом таланте второй пары ".
Может кто-нибудь выяснить, какая функция генерирует таблицу поиска выше? Вероятно, есть подсказка в кодах для классов: в алфавитном порядке (за исключением DK, который был добавлен в игру после других), они соответствуют серии в таблице поиска (0,0), (0,3 ), (1,0), (1,3), (2,0) и т. Д.