Разобрал почти все, что хотел.
А вопрос с баффами и скилллистом так и остался нерешенным
DD
Нигде, кроме как в UI их нет, походу.
Точнее баффы юзера нашёл в двух экземплярах(как и писал), первый можно получить путём хитрых смещений, правда endtime там на момент приема пакета. но это впринципе не такая большая проблема, т.к. проверять, изменились ли баффы(сравнивая это самое время с предыдущим) не проблема.
А вот с баффами сопартийцев всё очень плохо.
Они хранятся в виде 2-мерного массива в классе NCIconTabCtrl который в свою очередь лежит в классе UWindowHandle, который лежит в классе UUIScript и вроде как рядом лежит OID обьекта. Дальше стало лень искать, откуда ноги растут. Ситуацию осложняет то, что в NWindow не экспортируется ничего полезного, а тамошний код сложнее поддается анализу.
Скиллист тоже нашёл только ввиде массива айдишников.
В итоге сижу и думаю, а стоило ли вообще заморачиваться с такой реализацией, т.к. всё равно без хуков не обойтись...
Назрел вопрос - при юзе скилла клиент сам считает его откат? Потому что пакет C7=SkillCoolTime:d(listSize:Loop.01.0004)d(skillID :Get.Skill)d(skillLvl)d(reuseDelay)d(timeRemain) приходит только при открытии скилллиста, мб есть еще что то?