Просмотр полной версии : Вопрос по Attributes
Копался в spell.dbc (TBC) чтобы посмотреть информацию по спелам, которые имеют эфект DISPEL_MAGIC.
И у всех спелов ( Mass Dispel / Dispel Magic / Devour Magic / Arcane Shot / Purge ) в поле Attributes вписано значение 0x10000, ну у Mass Dispel 0x20010000 -> 0x2000000 + 0x10000.
А в SharedDefines.h написана следующая вещь:
#define SPELL_ATTR_NOT_SHAPESHIFT 0x00010000 // 16 Not while shapeshifted
Взять Devour Magic у лока, а темболее его пэта Fellhunter( у которого этот спел) и в помине нет никаких форм.
Если взять приста, то Dispel и Mass Dispel должны кастоваться и в Shadowform, а это уже Shapeshift. А я сильно сомневаюсь, что Близарды такие идиоты.
У хантов ( Arcane Shot ) тоже нету никаких форм.
Единственное, у кого есть форма, это Шаман( Ghost Wolf ) -> Purge.
Исключение из этого всего состваил Маговский Spellsteal у которого атрибут 0x40000.
Собственно возникает дурацкий вопрос. Причём тут формы? И с чего вобще взяли, что этот атрибут отвечает за формы?
Заранее спасибо за разъяснения.
Lordronn
16.05.2012, 21:14
Этот атрибут значит, что спелл кастуется вне формы
Этот атрибут значит, что спелл кастуется вне формы :mda:... ну да, зачем читать все сообщение? Лучше сразу написать какой попало ответ.
Я итак догадался что "Not while shapeshifted" это и означает.
Только все дело что у Локов нету форм вобще и куча спелов привязано к значению 0х10000. А диспел и масс диспел у которых этот атрибут должны кастоваться в Shadowform ( а это ниразу не отвечает требованию "Not while shapeshifted" ).
Lordronn
16.05.2012, 21:43
Этот аттрибут вроде не всегда значит "не в любой форме", он может значить "не в форме X"
Допустим так. Но я наверное тупой... В упор не могу понять зачем локу делать проверку на Shadow Bolt, Searing Pain, etc., если у него нету форм в помине...
Ну так все классовые спелы которые не требуют форм (за исключением некоторых положительных с использованием на себя) идут с аттрибутом SPELL_ATTR_NOT_SHAPESHIFT, а которые кастятся в формах идут без него. Можно догадаться, что это сделано для проверок.
Ну так все классовые спелы которые не требуют форм (за исключением некоторых положительных с использованием на себя) идут с аттрибутом SPELL_ATTR_NOT_SHAPESHIFT, а которые кастятся в формах идут без него. Можно догадаться, что это сделано для проверок.
Пример спелов с этим атрибутом:
Dispel, Mass Dispel пристовский не положительные( можно кастовать в Shadowform -> Shapeshift ).
Ptayer of Healing пристовский положительный ( нельзя кастовать в Shadowform )
Healing Wave шамовский положительный ( нельзя кастовать в ghost wolf )
Lightning Bolt шамовский не положительный ( нельзя кастовать в ghost wolf )
WTF???=))) Уже каким то абсурдом попахивает...
Всё я понял. Спасибо.
Я пример подобрал, теперь понял. Если спел требует форму кота, к примеру, он идёт без этого атрибута. Если не требует никакую форму, то идёт с этим атрибутом.
Название неок как и коммент для него.
Надо будет у себя переименовать в DO_NOT_REQ_SHAPESHIFT. Что-нибудь такое...
А как же если спел кастуется и в форме и без ? Пример пристовский диспел.
То тогда добавляется еще один аттрибут SPELL_ATTR_EX2_NOT_NEED_SHAPESHIFT , выходит тема расскрыта ? ))
Впринципе да :yes3: Но опять таки надо переименовать в что-нибудь типа SPELL_ATTR_EX2_NOT_NEED_SHAPELOST. Чтобы больше подходило по смыслу.
Ещё раз спасибо.
К примеру сразу нашёл ошибку, которая давно не давала покоя. Кто то вот тоже незная истинных значений атрибутов написал следующую проверку:
if(actAsShifted)
{
if (spellInfo->Attributes & SPELL_ATTR_NOT_SHAPESHIFT) // not while shapeshifted
return SPELL_FAILED_NOT_SHAPESHIFT;
else if (spellInfo->Stances != 0) // needs other shapeshift
return SPELL_FAILED_ONLY_SHAPESHIFT;
}
Как результат, когда в стелсе пытаешься сесть на маунта, вместо того, чтобы снялся стелс и начал кастоваться маунт тебя посылает вот такими красненькими букавками: "Not while shapeshift" =)))
Допустим так. Но я наверное тупой... В упор не могу понять зачем локу делать проверку на Shadow Bolt, Searing Pain, etc., если у него нету форм в помине...
Здрасте как это нету, а это что по твоему ? Метаморфоза (http://ru.wowhead.com/spell=59672)
Как результат, когда в стелсе пытаешься сесть на маунта, вместо того, чтобы снялся стелс и начал кастоваться маунт тебя посылает вот такими красненькими букавками: "Not while shapeshift" =)))
как в анекдоте - "девушка, где вы взяли такие тонкие и кривые чулки?". ошибка уже 2 года как поправлена.
PS шэйпшифт-формы есть у всех, даже у паладина, а уж у лока-то всем известная метаморфоза.
Здрасте как это нету, а это что по твоему ? Метаморфоза (http://ru.wowhead.com/spell=59672) Это ЛК уже или вобще ката, я хз. Я в первом посте написал "TBC" -> The Burning Crusade :)
ошибка уже 2 года как поправлена.
PS шэйпшифт-формы есть у всех, даже у паладина, а уж у лока-то всем известная метаморфоза. На ЛК может и исправлена, я не знаю, я ЛК не интересуюсь. А на Mangos-One он до сих пор есть.
partizanes
18.05.2012, 01:08
если верить коментам на том же wowhead то было оно и на 2.4.3
http://ru.wowhead.com/spell=59672#english-comments
Английские комментарии поиск по (Обновление 2.4.3)
vBulletin® v3.8.4, Copyright ©2000-2024, Jelsoft Enterprises Ltd. Перевод: zCarot