• Уважаемые гости и новички, приветствуем Вас на нашем форуме
    Здесь вы можете найти ответы практически на все свои вопросы о серии игр «Готика» (в том числе различных модах на нее), «Ведьмак», «Ризен», «Древние свитки», «Эра дракона» и о многих других играх. Можете также узнать свежие новости о разработке новых проектов, восхититься творчеством наших форумчан, либо самим показать, что вы умеете. Ну и наконец, можете обсудить общие увлечения или просто весело пообщаться с посетителями «Таверны».

    Чтобы получить возможность писать на форуме, оставьте сообщение в этой теме.
    Удачи!

Готика 2: НВ Неофициальное обновление для Г2 НВ

D36


Модостроитель
Регистрация
3 Дек 2014
Сообщения
2.189
Благодарности
3.373
Баллы
485
  • Первое сообщение
  • #1
Неофициальное обновление для игры "Готика 2: Ночь Ворона" представляет собой модификацию, направленную на исправление многочисленных ошибок и недоработок игры различной степени критичности. Данное обновление не включает новые квесты или глобальные изменения баланса и рекомендуется всем, кто хочет играть в Г2НВ без багов.
Разработка обновления ведется с 2005 года и по сегодняшний день. Камрад Efectivo (aka Нефариус) русифицировал патч от Fizzban и внес несколько дополнительных исправлений (так что получилась не русификация, а самостоятельный продукт на его основе).
В неофициальном обновлении камрад Dimus значительно расширил список исправлений и добавил некоторые улучшения. Дальнейшая работа над обновлением продолжена силами D36.
Также в данную сборку включены исправленные миры от Kvincius (Рудниковая долина, Яркендар, Хоринис и Ирдорат), исправленные шрифты от N1kX, неофициальное исправление русской озвучки от Dimus и полезные плагины для Union от Slavemaster (zBugFixes, zMiscUtils, zPicklockAnis, zTorchControl и другие).

Текущая версия:
30 от 02.09.2024

Ссылки:
Установщик модификации (76.9 МБ);
Версия для Мастерской Steam;
Исходники скриптов и архив релизов.

Установка:
Запустить установщик обновления, указать каталог с установленной игрой и выбрать набор устанавливаемых компонентов.
Внимание: Для того, чтобы все изменения вступили в силу, после установки обновления нужно начать новую игру!

Загрузка текста...

Удаление:
Удалить данное обновление можно через раздел "Программы и компоненты" в панели управления или запустив исполняемый файл G2a_NR_ScriptPatch_v30_uninstall.exe в каталоге с установленной игрой.

Примечания:
1. Для предотвращения возможных конфликтов с различными модами обновление устанавливается в формате модификации, поэтому для её работы необходимо наличие мод-стартера Player Kit. Также настоятельно рекомендуется установить последнюю версию Union;
2. Каждая версия неофициального обновления запускается через GothicStarter.exe отдельно и использует собственные папки сохранений. Удаление разных версий из панели управления также происходит раздельно;
3. Для установки игры не рекомендуется использовать папку Program Files, так как в ней может быть заблокирована работа стартера модов;
3. При возникновении проблем с запуском встроенных плагинов рекомендуется скачать и установить этот набор vcredist.

Начало новой игры обязательно. Не поддерживаются сохранения, сделанные в оригинале, в любом другом моде или в любой предшествующей версии неофициального обновления. Игнорирование данного предупреждения может привести к непредсказуемым последствиям: от невозможности продвижения по сюжету до вылетов.
Для тестирования доступна рабочая сборка очередной версии обновления с дополнительными исправлениями. Подробности здесь.
 
Последнее редактирование:

Dimus

★★★★★★★★★
Супермодератор
Регистрация
19 Июл 2010
Сообщения
5.574
Благодарности
4.168
Баллы
915
В итоге функция выдачи опыта стала работать и с отрицательными числами:
Код:
func void B_GivePlayerXP(var int add_xp)
{
    var string concatText;
    if(hero.level == 0)
    {
        hero.exp_next = 500;
    };
    hero.exp += add_xp;
    if(add_xp >= 0)
    {
        concatText = PRINT_XPGained;
    }
    else
    {
        if(hero.exp < 0)
        {
            hero.exp = 0;
        };
        concatText = PRINT_XPLost;
    };
    concatText = ConcatStrings(concatText,IntToString(add_xp));
    PrintScreen(concatText,-1,YPOS_XPGained,FONT_ScreenSmall,2);
    if(hero.exp >= hero.exp_next)
    {
        hero.level += 1;
        if(PlayerIsTransformed == TRUE)
        {
            LevelUpsDuringTransform += 1;
        };
        hero.exp_next += (hero.level + 1) * 500;
        hero.attribute[ATR_HITPOINTS_MAX] += HP_PER_LEVEL;
        hero.attribute[ATR_HITPOINTS] += HP_PER_LEVEL;
        hero.lp += LP_PER_LEVEL;
        PrintScreen(PRINT_LevelUp,-1,YPOS_LevelUp,FONT_Screen,2);
        Snd_Play("LevelUp");
    };
    B_CheckLog();
};
Например, она задействована для уменьшения опыта при использовании тестового кошелька с золотом:
Код:
instance Gold(C_Item)
{
    name = "Кошелек полон монет!";
    mainflag = ITEM_KAT_NONE;
    flags = 0;
    value = 0;
    visual = "ItMi_Pocket.3ds";
    scemeName = "MAPSEALED";
    material = MAT_METAL;
    on_state[0] = UseGold;
    description = name;
//    text[5] = NAME_Value;
//    count[5] = value;
};


func void UseGold()
{
    CreateInvItems(self,ItMi_Gold,1000);
    PrintScreen("1000 золота получено.",-1,45,FONT_Screen,2);
    Snd_Play("Geldbeutel");
/*    PrintScreen("Наказание за читерство: -100 EXP",-1,55,FONT_Screen,2);
    if(hero.exp >= 100)
    {
        hero.exp -= 100;
    }
    else
    {
        hero.exp = 0;
    }; */
    PrintScreen("Наказание за читерство",-1,50,FONT_Screen,2);
    B_GivePlayerXP(XP_EXPLOITBONUS);
};
 

Paladdin

Участник форума
Регистрация
20 Дек 2017
Сообщения
172
Благодарности
66
Баллы
175
А мне бы хотелось в неофициальном патче чтоб просто исправили ошибки, а не делали мод. Может пускай этот мод будет. А сделайте другой патч только с исправлениями, не меняя оригинала.
Если нововведения не ломают игру, то не вижу в этом ничего плохого. Тот же Мод-фикс для первой Готики от ElderGamer довольно органично изменяет игру, хотя и имеет очень много элементов мода.
На мой взгляд различные изменения моделек, распорядков у NPC, правки нелогичностей - только к лучшему. А вот от спорных моментов, сильно изменяющих игру, лучше в принципе отказаться. Я, например, не видел ни одного положительного отзыва на новую систему магии и только D36 смогла привести все более менее к порядку.
И таких спорных моментов здесь к сожалению хватает.
 
Последнее редактирование:

D36


Модостроитель
Регистрация
3 Дек 2014
Сообщения
2.189
Благодарности
3.373
Баллы
485
Бандит около Скиннера может предупредить о его буйном нраве, когда бой уже начался. Завершается диалог со Скиннером, он достает оружие, но тут ГГ поворачивается к этому бандиту и слышит предупреждение "НЕ НАДО ЕГО БУДИТЬ!". После чего получает в спину несколько ударов Бетти. В условие DIA_Addon_10008_Bandit_Hi_Condition нужно добавить "&& !Npc_KnowsInfo(other,DIA_Addon_Skinner_Hi)".

Также предлагаю изменить диалог со Скиннером (DIA_Addon_Skinner_Hi_Info) при пробуждении днем: пусть он атакует, если игроку нечего сказать о нападении. Тогда диалог не будет пустым и все его угрозы и предупреждения бандита рядом будут правдивы.
Код:
if(Wld_IsTime(12,0,20,0) && MIS_Judas == LOG_Running)
    {
        B_Say(self,self,"$AWAKE");
    }
else
    {
        AI_Output(self,other,"DIA_Addon_Skinner_Hi_08_00");    //Ты зачем меня разбудил, а? Я уверен, что ты толком и не знаешь...
        AI_Output(self,other,"DIA_Addon_Skinner_Hi_08_01");    //Нет - не надо ничего говорить. Оправдываться слишком поздно.
        AI_Output(self,other,"DIA_Addon_Skinner_Hi_08_02");    //У тебя теперь есть выбор. Ты можешь сразиться со мной и моей Бетти. А можешь попробовать убежать.
        AI_Output(self,other,"DIA_Addon_Skinner_Hi_08_03");    //И на твоем месте я бы начал разбег...
        AI_StopProcessInfos(self);
        B_Attack(self,other,AR_NONE,1);
    };
P.S. А зачем нужна переменная Judas_Counter, которая увеличивается на 1 при одобрении Скиннером свержения Эстебана и больше нигде в скриптах не используется? Если действительно не нужна, то её следует закомментировать для экономии памяти.

Сейв:
 

Вложения

  • savegame18.rar
    2,1 MB · Просмотры: 52
Последнее редактирование:

heckler

Участник форума
Регистрация
25 Апр 2017
Сообщения
413
Благодарности
109
Баллы
210
спорных моментов здесь к сожалению хватает
В обсуждениях нашлось: появление в продаже оружия древней погибшей цивилизации, мальчик на побегушках, новые руны у драконов и бессмертные ледяные големы, какие ещё нововведения можно назвать спорными?
 

Dimus

★★★★★★★★★
Супермодератор
Регистрация
19 Июл 2010
Сообщения
5.574
Благодарности
4.168
Баллы
915
@D36:
1. К сожалению, в этом случае не срабатывают ни исходные условия появления диалога, ни твоё исправление, потому что во время нападения Скиннера движок считает этот диалог не законченным. Может, сработает проверка на нахождение Скиннера в состоянии атаки?*idea*
Да, эта проверка работает: если ГГ мог раньше поговорить со Скиннером или разбуженный Скиннер нападёт на ГГ, то бандит у котла больше не станет давать устаревшее предупреждение (итоговый вариант):
Код:
func int DIA_Addon_10008_Bandit_Hi_Condition()
{
//    if((Npc_GetDistToNpc(other,Skinner) <= 600) && !Npc_IsDead(Skinner) && (Skinner.aivar[AIV_TalkedToPlayer] == FALSE))
    if((Npc_GetDistToNpc(other,Skinner) <= 600) && !Npc_IsDead(Skinner) && (Skinner.aivar[AIV_TalkedToPlayer] == FALSE) && !Npc_IsInState(Skinner,ZS_Attack))
    {
        return TRUE;
    };
};

2. Изменение принято. Сам когда-то хотел добавить это условие, но в итоге забыл о нём.

3. Видимо, PB планировали ввести счётчик бандитов, недовольных действиями Эстебана, но в итоге его использование осталось только в заблокированном ими диалоге со Скиннером. Убрал на фиг эту переменную.
 
Последнее редактирование:

D36


Модостроитель
Регистрация
3 Дек 2014
Сообщения
2.189
Благодарности
3.373
Баллы
485
какие ещё нововведения можно назвать спорными?
Режим трусости, изменение схемы магического урона Когтя.

К сожалению, в этом случае не срабатывают ни исходные условия появления диалога, ни твоё исправление, потому что во время нападения Скиннера движок считает этот диалог не законченным.
Проверила добавление моего условия - работает, бандит не начинает диалог с предупреждением после диалога со Скиннером. Добавляй, не сомневайся.

Может, сработает проверка на нахождение Скиннера в состоянии атаки?
Но ведь Скиннер не всегда атакует игрока, если тот его разбудит. Думаю, лучшим условием будет непосредственно диалог DIA_Addon_Skinner_Hi.

Известный баг: книги в инвентаре показываются игроку задней стороной, а если их выбросить на землю, то становится видна их лицевая сторона, обращенная вверх. Предлагаю исправление: модели трех книг с одинаковой задней и лицевой стороной, выглядящие одинаково и в инвентаре, и в мире. Чтобы не пропадали даром области с лицевыми сторонами, сделала с ними отдельные модели, которые можно применить на что-то квестовое или сюжетное - Чертоги Ирдората (ItWr_Book_03_03.3ds), дневник послушника черного мага (ItWr_Book_03_04.3ds) и альманах одержимых (ItWr_Book_03_05.3ds).

books.png
 

Вложения

  • books.rar
    7,2 KB · Просмотры: 53
Последнее редактирование:

Paladdin

Участник форума
Регистрация
20 Дек 2017
Сообщения
172
Благодарности
66
Баллы
175
В обсуждениях нашлось: появление в продаже оружия древней погибшей цивилизации, мальчик на побегушках, новые руны у драконов и бессмертные ледяные големы, какие ещё нововведения можно назвать спорными?
Например, многое, что убирал в прошлых версиях Traven: https://worldofplayers.ru/threads/36817/page-30#post-938263
 

heckler

Участник форума
Регистрация
25 Апр 2017
Сообщения
413
Благодарности
109
Баллы
210
убирал в прошлых версиях Traven
Стрелы раз в день у Боспера и Беннета - отличное нововведение. Даже обновление инвентаря только в начале главы было бы уместно.
 

Dimus

★★★★★★★★★
Супермодератор
Регистрация
19 Июл 2010
Сообщения
5.574
Благодарности
4.168
Баллы
915
25.01.2018 выпущена очередная сборка неофициального обновления для аддона "Ночь Ворона". Информация о нём внесена в шапку темы.

P.S.: После выпуска этой сборки я намерен взять длительный тайм-аут. Если вам не понравятся какие-то изменения, то вы можете сделать на её основе свою версию, т.к. я всегда выкладываю исходники скриптов обновления.

Белиар меня задери! Только что обнаружил ошибку в диалоге с Болтаном, когда тот говорит о пустых камерах, то почему-то не учитывает посадку в тюрьму торговца Фернандо. Файлы будут перезалиты в ближайшее время.

P.P.S.: Файлы перезалиты, желаю всем удачного прохождения "Ночи Ворона".
 
Последнее редактирование:

heckler

Участник форума
Регистрация
25 Апр 2017
Сообщения
413
Благодарности
109
Баллы
210
Когда Грег приходит к Декстеру, второй стражник перемещается поближе к месту боя (взято из MiniMod Balance).
В этой сборке исправлено перемещение охранника только после перезагрузки области (отбежать от лагеря бандитов, затем вернуться)?
 

Paladdin

Участник форума
Регистрация
20 Дек 2017
Сообщения
172
Благодарности
66
Баллы
175
Стрелы раз в день у Боспера и Беннета - отличное нововведение.
Само нововведение как раз нормальное, но вот его реализация в выборе диалога у Ксардаса уже не очень. Оно по сути ничего не портит и безобидно, так как игрок никак не может на этом наживиться, скорее помогает игроку честным способом приобретать боеприпасы в ограниченных условиях. Поэтому непонятно, зачем делать его выборочным? Может пусть оно будет по умолчанию?

А вот такие изменения уже довольно сильно меняют игровой процесс:
Начиная с главы 4 часть торговцев будут продавать боеприпасы для огненного и магического оружия. Поэтому значительно повышены цены на эти боеприпасы.
Режим трусости, изменение схемы магического урона Когтя.
 

heckler

Участник форума
Регистрация
25 Апр 2017
Сообщения
413
Благодарности
109
Баллы
210
его реализация в выборе диалога у Ксардаса уже не очень
Это из мода "Кузнец", там что-то вроде настройки уровня сложности в первом диалоге с Ксардасом.
пусть оно будет по умолчанию
*thumbs up*

Спорное нововведение ещё изменённое ядовитое облако после смерти болотного дрона.
А дрон тоже магией стал бить что ли? Или мечом перед смертью
В оригинале, как я понял, у него был небольшой фиксированный урон, теперь же он модифицируется защитой от магии.
 

D36


Модостроитель
Регистрация
3 Дек 2014
Сообщения
2.189
Благодарности
3.373
Баллы
485
Представляю вашему вниманию неофициальное обновление последней версии неофициального обновления (!). Устанавливается как дополнение, поверх установленного обновления от 25.01.2018 с заменой файла G2a_NR_ScriptPatch.ini. Для активации некоторых изменений требуется начало новой игры. Также прикладываю исходники скриптов для изучения всеми интересующимися. Список изменений:

- Режим трусости и лимит стрел выключены по умолчанию;
- Теперь эти опции можно включить или выключить у помощника по сюжету (insert sh);
- Начальный диалог с Ксардасом приведен в оригинальный вид;
- Функция скриптового нанесения магического урона снова игнорирует защиту цели, как в оригинале;
- Урон молнии Когтя Белиара полностью соответствует оригиналу и больше не бесполезен против, например, элитных орков;
- Исправлена уязвимость квестового магического голема к урону молнии Когтя Белиара;
- Так как скриптовый магический урон игнорирует защиту, то описания заклинаний теперь используют понятие "чистый урон". Это относится к Глыбе льда, Волне льда, Высасыванию энергии, Рою и Надуванию;
- В описания нелетальных заклинаний добавлена неиспользуемая надпись "Заклинание не убивает людей" (Стрела сотрясения, Гейзер, Кулак воды, Малая молния);
- Исправлен магический тип урона в описаниях свитков огненных заклинаний;
- В описание руны и свитка Смерча добавлена информация о его уроне (он наносит 60 магического урона);
- Описания всех заклинаний используют только магический, чистый или огненный урон, больше никакого обычного;
- Поскольку урон Кулака ветра игнорирует магическую защиту, то урон этого заклинания в его описании называется "урон ветром";
- Заклинание Кража энергии теперь убивает цель, добавлены крики жертвы, исправлена длительность в описании (спасибо WoOliN);
- Убраны пустые поля цен у рун Стрела сотрясения, Шар смерти и Стрела смерти;
- После смерти болотного дрона его облако наносит фиксированный чистый урон без учета защиты, как в оригинале;
- При попытке экипировки кольца предводителей орков с силой менее 20 на экран не выводится сообщение о недостатке навыка. Можно использовать проверку cond_atr[2] = ATR_STRENGTH, тогда игрок не сможет его использовать;
- Феоматар и Феодарон используют обычный огненный шар, как в оригинале. Зарядный, конечно, смотрится хорошо, но кастуется значительно дольше и слишком меняет тактику боя;
- У полевого хищника проставлена рекомендуемая защита от огня (17): случайно или намеренно там был ноль;
- Лекарство от алкоголизма переименовано в лекарство от похмелья, чем оно и является по квесту;
- Добавлена исправленная модель бутылки со святой водой, которая изменилась после смены текстуры зелий;
- Добавлена правильно повернутая модель маленького посоха;
- Обычный волчий нож без бонуса переименован в "Старый волчий нож";
- Задействована неиспользуемая модель тяжелой дубины с шипами, теперь она отличается от обычной дубины с шипами;
- Для исправления повторных визуалов немного изменен внешний вид абордажной сабли, Бетти, меча Ферроса, меча Рода, посоха "Кольца Воды", крушителя досок, абордажного топора и пиратской сабли;
- Орки-нежить сражаются орочьим молотом из Готики 1 Краш Каррок, для которого задействована неиспользуемая модель;
- Исправлен текст книги "Закон на острове": с исправленными шрифтами от heckler две строки не помещались на страницу;
- Исправлены тексты передачи драконьих яиц, священного молота, альманаха и орнамента: показывалось только "предмет отдан" или "предмет получен";
- Пересмотрены и исправлены материалы оружия ближнего боя, топоры и дубины стали деревянными, мечи - металлическими;
- Магические и огненные стрелы и болты продаются только на Ирдорате, только у Беннета и только для того оружия, которое есть у ГГ;
- Помимо условия атаки, диалогу с бандитом около Скиннера добавлено дополнительное условие диалога со Скиннером, так как он не всегда атакует игрока;
- В мире не появляется мальчик на побегушках;
- Исправлена надпись при получении урона от алтарей Белиара;
- Исправлены названия параметров в описаниях пламенной нарезки и пива Корагона, а также положение выводимых на экран сообщений об их повышении;
- В инвентаре Мистера вещи Хоши не создается прототип тестовой книги;
- Торговый ассортимент Мартина в первой главе соответствует оригиналу;
- Повторные образцы оружия не копируются в инвентарях торговцев при начале торговли;
- Точка появления одного из богомолов перенесена из лагеря магов Воды чуть дальше, чтобы ни с кем не конфликтовать;
- Исправлены дополнительные возможные ошибки при экипировке и снятии кольца Моргана и дубинки ветра;
- Заблокирована возможность повышения навыков оружия ближнего и дальнего боя свыше 100% независимо от бонусов и реальных значений;
- Задействована неиспользуемая фраза "Понимаешь, ты уже лучше меня...", произносимая учителями при попытке обучения свыше их лимита;
Именно с этими изменениями через несколько дней выйдет в свет новая версия сборника Gothic 2 Steam Fix.

Также хотелось сделать состояние электрического шока по советам WoOliN из этого сообщения, но SPL_ChargeZap категорически не хочет запускать ZS_ShortZapped из B_AssessMagic. Даже без каких-либо изменений противники вообще не реагируют на это заклинание. Не знаю в чем тут может быть дело.

Также остается один некритичный баг с дубинкой ветра и кольцом Моргана. Для его воспроизведения нужно прокачать владение одноручным оружием до 91% или более, экипировать дубинку, надеть кольцо, снять дубинку, снять кольцо, экипировать дубинку, надеть кольцо, снять кольцо и снять дубинку. После этого мастерство навсегда повысится до 100%. Других ошибок быть не должно, но, если честно, уже крыша едет с этим разбираться и тестировать, не могу больше. Посмотрите свежим взглядом, кто шарит. А я вслед за @Dimus тоже отправляюсь в отпуск.
 

Вложения

  • fixes_2801.rar
    1,8 MB · Просмотры: 64
  • SolG2a_NR_ScriptPatch_NDR.rar
    4,1 MB · Просмотры: 96
Последнее редактирование:

Dimus

★★★★★★★★★
Супермодератор
Регистрация
19 Июл 2010
Сообщения
5.574
Благодарности
4.168
Баллы
915
Очень интересные изменения, большую часть из которых можно смело включить в следующую сборку обновления. Кстати, я почему-то не нашёл в скриптах отдельные реакции на заклинание "Страх" у магов и паладинов. В функции B_AssessMagic() есть только стандартное игнорирование ими этого заклинания. Где именно они находятся?
 
Последнее редактирование:

D36


Модостроитель
Регистрация
3 Дек 2014
Сообщения
2.189
Благодарности
3.373
Баллы
485
Кстати, я почему-то не нашёл в скриптах отдельные реакции на заклинание "Страх" у магов и паладинов. В функции B_AssessMagic() есть только стандартное игнорирование ими этого заклинания.
Хм, неправильно выразилась. Да, это там. Там нужно добавить && (self.guild != GIL_KDW), чтобы маги Воды тоже игнорировали это заклинание.
 

Dimus

★★★★★★★★★
Супермодератор
Регистрация
19 Июл 2010
Сообщения
5.574
Благодарности
4.168
Баллы
915
Тогда к этому условию надо добавлять исключения для Ватраса в Хоринисе и на Ирдорате, а также Миксира в городе, у которых прописана гильдия "горожанин" (GIL_VLK). Хотя Ватрасу на Ирдорате вполне можно дать GIL_KDW. Ещё можно дать овцам уровень 0, тогда станет бессмысленной бесконечная покупка нейтралом овец у Пепе или Онара, а затем их убийство (опыт +10).
 
Последнее редактирование:

Paladdin

Участник форума
Регистрация
20 Дек 2017
Сообщения
172
Благодарности
66
Баллы
175
Ещё можно дать овцам уровень 0, тогда станет бессмысленной бесконечная покупка нейтралом овец у Пепе или Онара, а затем их убийство (опыт +10).
А можно это сделать только для купленных овец? Иначе потеряет смысл вырезание овец у крестьян.
 

Dimus

★★★★★★★★★
Супермодератор
Регистрация
19 Июл 2010
Сообщения
5.574
Благодарности
4.168
Баллы
915
Конечно, можно сделать 0 уровень только для Лизели (Follow_Sheep).
 

ElderGamer


Модостроитель
Регистрация
16 Апр 2008
Сообщения
4.407
Благодарности
3.232
Баллы
525
но SPL_ChargeZap категорически не хочет запускать ZS_ShortZapped из B_AssessMagic
А срабатывает ли вообще условие
Код:
if(Npc_GetLastHitSpellID(self) == SPL_ChargeZap)
В данном случае мы имеем дело с заклинанием заряда. Возможно, здесь глючит движковая функция.
 

WoOliN

Участник форума
Регистрация
13 Окт 2012
Сообщения
347
Благодарности
196
Баллы
210
SPL_ChargeZap у меня (в моих скриптах) нормально активирует состояние "трясучки" - как после полного заряда, так и без заряжания вообще.
А вот SPL_LightningFlash не хочет активировать ZS_ShortZapped ... возможно из-за какой-то дополнительной анимации при ударе молнии (может какое-то дополнительное отбрасывание) ... не было времени разбираться.
 
Сверху Снизу