[fix] Mirror Image
Вложений: 1
Реализует работу Зеркальных Изображений у магов. Проверял на версии ядра 9225. также на версии клиента 3.3.2 Ревизию ядра не помню.
Патч переводили с тринити, но он не работал (вызывал трех призраков и все), дописал его я. Имеются недочеты: 1. В дуэли иллюзии не аттакуют игрока. - поправлено! (Спасибо Set) 2. Спелл агрит мобов вокруг. - поправлено! (огромное спасибо lucky) 3. Поправлено, Движение иллюзий за магом. (Спасибо Set) 4. Поправлено, после 30 секунд иллюзии исчезают (Спасибо Dimitrius) 5. Теперь копируется имя и гильдия. (Спасибо Set) |
Код:
enum Код:
newscript = new Script; |
Мобы агрятся из-за этого
Код:
+ if (spell->Id == 55342) Код:
+ m_target->CastSpell((Unit *)NULL, m_spellProto->EffectTriggerSpell[m_effIndex], true); У меня также из-за этого было, что при вызове проекций всем мобам в округе присваивалось имя кастера :) у и агрились. Ну естественно после таких манипуляций проекциям имя присваиваться не будет |
Цитата:
|
Проблема в том, что у спелла ID - 58836 Initialize Images () - Target B (TARGET_7). Нужно реализовывать его еще, это что-то вроде массового SCRIPT_TARGET.
|
Создаваемые копии стоят на месте если поблизости нет врагов - это нормально? При появлении врагов работают как и должны (сверил с оффом). Попробую пока из pet.cpp (или player.cpp - точно пока не знаю, предположил) вытащить функцию следования за игроком, если решения пока нет (что маловероятно).
MaNGOS 9435 (не чистое) SD2 R1581 (не чистое) YTDB R535 ACID R303 Added: Добавил в spell_effects.cpp: После summon->SetUInt32Value(UNIT_FIELD_FLAGS_2, 2064); Код:
summon->GetMotionMaster()->MoveFollow(m_caster,PET_FOLLOW_DIST,PET_FOLLOW_ANGLE); P.s. не ругайте пожалуйста за кракозяброкод, использовал функции из Pet.cpp и PetHandler.cpp Бггг, я ненормальный. Всю ночь просидел перед ящиком, пробовал разные варианты. Псих :( |
Еще один минус - созданные копии не исчезают по прохождении 30 сек, если они находятся в бою. Следовательно дождавшись кд допустим на арене можно будет призвать еще 3-4 копии. Я думаю это не верно, и поправил это в SD2:
(+ отмечены добавленные строки) Код:
struct MANGOS_DLL_DECL npc_mirror_imageAI : public ScriptedAI |
Код:
/*###### |
Set странно, когда я в скрипте на 3.3.0 делал через owner у меня писало indefener is not found.
|
Цитата:
Код:
Unit *owner = m_creature->GetOwner(); |
Цитата:
|
Код:
m_creature->GetOwner(); Код:
Unit* GetOwner() const; |
Цитата:
|
А зазве у клонов столько же хелов сколько и у владельца?
Помойму нужно в Reset() добавить Код:
m_creature->SetMaxHealth(4000); |
Я всегда думал, что у клонов и ХП должно быть столько же.
|
Нет, у них около 2.6к, насколько я помню.
|
Цитата:
|
Цитата:
|
Цитата:
|
Код:
Effect Apply Aura: Mirror Name где-то я видел спелы - которые берут оружие и одежду миррор цели, как то их надо под эту ауру подогнать наверно |
Насколько я помню это клиентом реализуется.
|
когда игрок умирает воспроизводится клон игрока [Труп игрока]
Есть ли возможность использовать это В mirror image |
Цитата:
|
Цитата:
|
Я имею ввиду ауру, на которую я давал ссылку.
|
Не функции, пакеты CMSG_GET_MIRRORIMAGE_DATA, SMSG_MIRRORIMAGE_DATA
Они отсылаются с аурой и копируют имя, гильду, прическу, лицо, одежду и т.д |
Цитата:
Код:
+ Player* pCreator = (Player *)m_caster; |
это уже работает? или что не хватает?
|
Цитата:
Цитата:
|
Цитата:
|
Цитата:
Код:
+ data << pCreator->GetName(); // unknown |
Цитата:
|
|
|
|
Код:
+void WorldSession::HandleMirrrorImageDataRequest( WorldPacket & recv_data ) |
Цитата:
|
Вложений: 2
Сегодня собрал с Мангос 9611 (не чистые) и SD2 1647 (не чистый) старую версию, т.е. без пункта 5. Теперь копируется имя и гильдия. (Спасибо Set).
При появлении нпс реагриует только на вражеских мобов, а так же: - не ходят за мной; - не атакуют мою цель. Видел, что об этих багах писали выше, но в первом посте они значатся как "поправленные". Скрины прилагаются. |
Ошибка
Цитата:
|
Цитата:
|
Текущее время: 22:32. Часовой пояс GMT +3. |
ru-mangos.ru - Русское сообщество MaNGOS