Ru-MaNGOS

Вернуться   Ru-MaNGOS > Документация > Новичкам

Важная информация

Новичкам Информация для всех новичков, новичкам рекомендуется задавать свои вопросы здесь

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 16.05.2012, 20:46   #1
Velvet
Гость
 
Сообщений: n/a
По умолчанию Вопрос по 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.

Собственно возникает дурацкий вопрос. Причём тут формы? И с чего вобще взяли, что этот атрибут отвечает за формы?
Заранее спасибо за разъяснения.

Последний раз редактировалось Velvet; 16.05.2012 в 20:54.
  Ответить с цитированием
Старый 16.05.2012, 21:14   #2
Lordronn
Умный
 
Регистрация: 17.06.2010
Сообщений: 397
Сказал(а) спасибо: 58
Поблагодарили 55 раз(а) в 38 сообщениях
Lordronn Скоро придёт к известности
По умолчанию

Этот атрибут значит, что спелл кастуется вне формы
Lordronn вне форума   Ответить с цитированием
Старый 16.05.2012, 21:34   #3
Velvet
Гость
 
Сообщений: n/a
По умолчанию

Цитата:
Сообщение от Lordronn Посмотреть сообщение
Этот атрибут значит, что спелл кастуется вне формы
... ну да, зачем читать все сообщение? Лучше сразу написать какой попало ответ.
Я итак догадался что "Not while shapeshifted" это и означает.
Только все дело что у Локов нету форм вобще и куча спелов привязано к значению 0х10000. А диспел и масс диспел у которых этот атрибут должны кастоваться в Shadowform ( а это ниразу не отвечает требованию "Not while shapeshifted" ).
  Ответить с цитированием
Старый 16.05.2012, 21:43   #4
Lordronn
Умный
 
Регистрация: 17.06.2010
Сообщений: 397
Сказал(а) спасибо: 58
Поблагодарили 55 раз(а) в 38 сообщениях
Lordronn Скоро придёт к известности
По умолчанию

Этот аттрибут вроде не всегда значит "не в любой форме", он может значить "не в форме X"
Lordronn вне форума   Ответить с цитированием
Старый 16.05.2012, 21:48   #5
Velvet
Гость
 
Сообщений: n/a
По умолчанию

Допустим так. Но я наверное тупой... В упор не могу понять зачем локу делать проверку на Shadow Bolt, Searing Pain, etc., если у него нету форм в помине...
  Ответить с цитированием
Старый 16.05.2012, 21:55   #6
Den
Ученый
 
Регистрация: 10.03.2010
Адрес: Бобруйск
Сообщений: 284
Сказал(а) спасибо: 213
Поблагодарили 98 раз(а) в 84 сообщениях
Den Скоро придёт к известностиDen Скоро придёт к известности
По умолчанию

Ну так все классовые спелы которые не требуют форм (за исключением некоторых положительных с использованием на себя) идут с аттрибутом SPELL_ATTR_NOT_SHAPESHIFT, а которые кастятся в формах идут без него. Можно догадаться, что это сделано для проверок.
Den вне форума   Ответить с цитированием
Старый 16.05.2012, 22:12   #7
Velvet
Гость
 
Сообщений: n/a
По умолчанию

Цитата:
Сообщение от Den Посмотреть сообщение
Ну так все классовые спелы которые не требуют форм (за исключением некоторых положительных с использованием на себя) идут с аттрибутом SPELL_ATTR_NOT_SHAPESHIFT, а которые кастятся в формах идут без него. Можно догадаться, что это сделано для проверок.
Пример спелов с этим атрибутом:
Dispel, Mass Dispel пристовский не положительные( можно кастовать в Shadowform -> Shapeshift ).
Ptayer of Healing пристовский положительный ( нельзя кастовать в Shadowform )
Healing Wave шамовский положительный ( нельзя кастовать в ghost wolf )
Lightning Bolt шамовский не положительный ( нельзя кастовать в ghost wolf )

WTF??? Уже каким то абсурдом попахивает...
  Ответить с цитированием
Старый 16.05.2012, 22:17   #8
Velvet
Гость
 
Сообщений: n/a
По умолчанию

Всё я понял. Спасибо.
Я пример подобрал, теперь понял. Если спел требует форму кота, к примеру, он идёт без этого атрибута. Если не требует никакую форму, то идёт с этим атрибутом.

Название неок как и коммент для него.
Надо будет у себя переименовать в DO_NOT_REQ_SHAPESHIFT. Что-нибудь такое...

Последний раз редактировалось Velvet; 16.05.2012 в 22:20.
  Ответить с цитированием
Старый 16.05.2012, 22:36   #9
Den
Ученый
 
Регистрация: 10.03.2010
Адрес: Бобруйск
Сообщений: 284
Сказал(а) спасибо: 213
Поблагодарили 98 раз(а) в 84 сообщениях
Den Скоро придёт к известностиDen Скоро придёт к известности
По умолчанию

А как же если спел кастуется и в форме и без ? Пример пристовский диспел.
То тогда добавляется еще один аттрибут SPELL_ATTR_EX2_NOT_NEED_SHAPESHIFT , выходит тема расскрыта ? ))
Den вне форума   Ответить с цитированием
Старый 16.05.2012, 22:41   #10
Velvet
Гость
 
Сообщений: n/a
По умолчанию

Впринципе да Но опять таки надо переименовать в что-нибудь типа 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"

Последний раз редактировалось Velvet; 16.05.2012 в 22:46.
  Ответить с цитированием
Старый 17.05.2012, 10:33   #11
Йоха
Умный
 
Регистрация: 02.07.2010
Сообщений: 434
Сказал(а) спасибо: 27
Поблагодарили 73 раз(а) в 45 сообщениях
Йоха Скоро придёт к известности
По умолчанию

Цитата:
Сообщение от Velvet Посмотреть сообщение
Допустим так. Но я наверное тупой... В упор не могу понять зачем локу делать проверку на Shadow Bolt, Searing Pain, etc., если у него нету форм в помине...
Здрасте как это нету, а это что по твоему ? Метаморфоза
Йоха вне форума   Ответить с цитированием
Старый 17.05.2012, 12:39   #12
rsa
Почетный флудер
Старожил
 
Аватар для rsa
 
Регистрация: 08.03.2010
Адрес: Мурманск, Россия
Сообщений: 788
Сказал(а) спасибо: 55
Поблагодарили 333 раз(а) в 151 сообщениях
Записей в дневнике: 1
rsa Как самоцвет среди гранитаrsa Как самоцвет среди гранитаrsa Как самоцвет среди гранитаrsa Как самоцвет среди гранита
По умолчанию

Цитата:
Сообщение от Velvet Посмотреть сообщение
Как результат, когда в стелсе пытаешься сесть на маунта, вместо того, чтобы снялся стелс и начал кастоваться маунт тебя посылает вот такими красненькими букавками: "Not while shapeshift"
как в анекдоте - "девушка, где вы взяли такие тонкие и кривые чулки?". ошибка уже 2 года как поправлена.
PS шэйпшифт-формы есть у всех, даже у паладина, а уж у лока-то всем известная метаморфоза.
rsa вне форума   Ответить с цитированием
Старый 17.05.2012, 15:15   #13
Velvet
Гость
 
Сообщений: n/a
По умолчанию

Цитата:
Сообщение от Йоха Посмотреть сообщение
Здрасте как это нету, а это что по твоему ? Метаморфоза
Это ЛК уже или вобще ката, я хз. Я в первом посте написал "TBC" -> The Burning Crusade

Цитата:
Сообщение от rsa Посмотреть сообщение
ошибка уже 2 года как поправлена.
PS шэйпшифт-формы есть у всех, даже у паладина, а уж у лока-то всем известная метаморфоза.
На ЛК может и исправлена, я не знаю, я ЛК не интересуюсь. А на Mangos-One он до сих пор есть.
  Ответить с цитированием
Старый 18.05.2012, 01:08   #14
partizanes
Пользователь
 
Аватар для partizanes
 
Регистрация: 15.03.2010
Адрес: Беларусь,Витебск
Сообщений: 93
Сказал(а) спасибо: 97
Поблагодарили 36 раз(а) в 11 сообщениях
partizanes На верном пути
Отправить сообщение для partizanes с помощью ICQ Отправить сообщение для partizanes с помощью Skype™
По умолчанию

если верить коментам на том же wowhead то было оно и на 2.4.3
http://ru.wowhead.com/spell=59672#english-comments
Английские комментарии поиск по (Обновление 2.4.3)
__________________
Когда-нибудь на оффе поставят Mangos...
partizanes вне форума   Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопрос по LOS BloodWarrior Новичкам 4 23.04.2011 06:03
[11082] Correct meaning of two threat/aggro related spell attributes newsbot CMaNGOS Commits 0 29.01.2011 19:00
Вопрос по git impylse Новичкам 2 23.09.2010 07:58
[9679] Some more research on spell attributes. newsbot CMaNGOS Commits 0 06.04.2010 12:40
[9672] Add some research for spell attributes. newsbot CMaNGOS Commits 0 05.04.2010 03:52


Текущее время: 23:30. Часовой пояс GMT +3.


ru-mangos.ru - Русское сообщество MaNGOS
Главная цель проекта MaNGOS - обучающая, поэтому разрешается использовать исходный код и собранную программу только для образовательных целей.
Вы не можете использовать MaNGOS в коммерческих целях, а также не разрешается устанавливать публичные серверы на базе MaNGOS.
Любое копирование материалов, информации в любом виде без указания источника - форума Ru-MaNGOS будет считаться нарушением авторских прав и нарушением Уголовного Кодекса РФ, ст. 146 ст. 147.
Перевод vBulletin: zCarot