Немножечко о талантах
Доброго времени суток, если не трудно уточните пожалуйста пару вещей.
Последняя сборка CMaNGOS(4.3.4), решил реализовать талант Энханс Шамана: "Жгучее пламя"(ссылку не могу дать т.к. в МоР нету этого таланта уже) и в связи с ним столкнулся с рядом проблем: 1)Имеются ли в DBC файлах шанс на прок спелла(надеюсь правильно выразился)? 2) Талант имеет ауру "SPELL_AURA_DUMMY" т.е следовательно его надо реализовывать в SpellAura.cpp в разделе: Код:
void Aura::HandleAuraDummy(bool apply, bool Real) Или все же в SpellEffect.cpp в разделе "EffectDummy" ? (Догадки падают именно на реализацию в SpellEffect.cpp) Как работает талант: Опаляющий тотем() использовав спелл "Опаляющая стрела()" накладывает на врага спелл: "Жгучее пламя"(Уровень 1,2,3)(), который стакается до 5 штук и за 15 секунд наносит урон от "Опаляющая стрела" (При 5 стаках урон равен 5 опаляющим стрелам) Будьте любезны подскажите пожалуйста правильную дорожку. Заранее спасибо. P.S Пустые скобочки я оставил чтоб вставить ссылки на wowhead, щас нету возможности т.к. интернет еле работает((( Еще раз заранее спаибо |
Для справки о dbc используй http://ru-mangos.ru/showthread.php?t=3501
А аур таланта нет прок данных, а шанс лежит в basepoints. Насколько я помню, ауры мастера могут прокать от атак пета (тотема), так что по идее можно через HandleDummyAuraProc все сделать. Если в проке просто кастовать жгучее пламя то оно само собой будет стакаться до нужного количества раз. То, что ты написал про HandleAuraDummy и EffectDummy тут никак не поможет, это всего лишь обработчики наложения ауры таланта и и его эффекта. Если уж совсем невтерпеж, то можешь посмотреть как реализовано тут https://github.com/Dramacydal/murloc...ects.cpp#L1453, но это в другом варианте, хаково и неправильно. |
Спасибо за информацию, буду ковыряться, пытаться понять. а вот вопрос не по теме, как понять хаковая реализация или нет ?
|
Вообще это сложно сказать, чтобы понимать это, нужно понимать как устроен эмулятор.
В моем понимании правильная реализация талантов - это сведение всего к написанию кода в обработчиках эффектов, аур и проков. Но и там можно столько хаков наворотить, что потом людям страшно будет. |
Понятно, спасибо еще раз... думаю я взялся сразу за сложный талант... Подскажите пожалуйста есть ли талант или спелл который проще реализовать ?
|
Таких полно)
Нерабочий талант подразумевает то, что стандартными механиками ядра он по какой-то причине не обрабатывается. Тут по любому нужно будет разбираться что, где и на каком этапе не работает. |
Ахах))) ясненько, в общем решил взяться за показавшийся легким на первый взгляд спелл ("Высвободить чары стихий")
По сути спелы шаманских бафов на оружие из за этого спела тригерят соответствующие спеллы т.е. если стоит Оружие языка пламени то на противника тригериться спелл: Высвободить чары огня и т.д. в SpellEffect.cpp в разделе EffectDummy в case SPELL_FAMILY_SHAMAN прописал следующий код: Код:
P.S : Не пинайте сильно, первый раз пытаюсь починить спелл))) сори незнал как пропорционально на форуме прописать код |
Ну этот код даже с точки зрения языка логики не имеет
|
Понятно.... порыскав по ссылке которую вы мне дали нашел у него тоже реализацию "Высвободить чары стихий" https://github.com/Dramacydal/murloc...ects.cpp#L5306
Подскажите пожалуйста Это тоже хаковая реализация ? просто хочу как бы... пример Ах да параметр case должен иметь id Чар стихий(огонь, вода, и т.д)? или число используемое в case не имеет значения ? Заранее спасибо |
|
|
|
Цитата:
Не могли бы вы подсказать из какого файла вы брали значение EnchantmentId, Заранее благодарен |
Цитата:
|
Текущее время: 19:48. Часовой пояс GMT +3. |
ru-mangos.ru - Русское сообщество MaNGOS