в 4.3.4 неверная структура SpellShapeshiftEntry. Правильно так:
Код:
struct SpellShapeshiftEntry
{
// quint32 Id; // 0 m_ID
quint32 StancesNot[2]; // 15 m_shapeshiftExclude
quint32 Stances[2]; // 13 m_shapeshiftMask
quint32 StanceBarOrder; // 155 m_stanceBarOrder not used
};
Много спеллов имеют нулевой EffectRadiusEntry и ненулевой EffectRadiusMaxEntry, который и используется. Нужно сделать так:
Код:
diff -r 4867643b70f6 QSW/SWObject.cpp
--- a/QSW/SWObject.cpp Sat Feb 16 19:18:27 2013 +0600
+++ b/QSW/SWObject.cpp Tue Mar 26 12:56:50 2013 +0300
@@ -1286,6 +1286,8 @@
void SWObject::appendRadiusInfo(SpellEntry const* spellInfo, quint8 index, quint8 num)
{
quint16 rIndex = spellInfo->getEffectRadiusIndex(index);
+ if (rIndex == 0)
+ rIndex = spellInfo->getEffectRadiusMaxIndex(index);
if (rIndex != 0)
{
SpellRadiusEntry const* spellRadius = sSpellRadiusStore.LookupEntry(rIndex);
Добавлено через 18 минут
Цитата:
Сообщение от Amaru
Хорошо бы инфу об спеллэффектах в 4.3.4 выводить даже если еффект == 0, т.к. в них часто хранятся важные данные.
Еще есть пожелание выводить talendId для талантов
|
Касательно этого:
Код:
diff -r 4867643b70f6 QSW/SWObject.cpp
--- a/QSW/SWObject.cpp Sat Feb 16 19:18:27 2013 +0600
+++ b/QSW/SWObject.cpp Tue Mar 26 13:03:04 2013 +0300
@@ -1086,12 +1086,12 @@
for (quint8 eff = EFFECT_INDEX_0; eff < MAX_EFFECT_INDEX; ++eff)
{
- if (!spellInfo->getEffect(eff))
+ if (!spellInfo->getSpellEffect(eff))
{
html.append(QString("<div class='b-effect_name'>Effect %0:</div>"
"<ul>"