![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
![]()
Сообщение
#1
|
|
![]() Learning Dart Arts Сообщений: 48 Спасибо сказали: 2 раза ![]() |
Итак в прошлом году я уже поднимал этот вопрос, потом забил и сейчас довожу дело до конца..
С прошлого раза я знаю что флага удачи(как например морали) в игре нет (или его не нашли) На вопрос как определить сработала ли у юнита в текущем раунде удача мне ответили: **** Наверно единственный вариант - вручную посчитать урон, который должен быть нанесен существу, и если он примерно в 2 раза меньше текущего (!!MF:D), значит, видимо, выпала удача. Можно, наверно, как-нибудь через UN:C узнать... **** Итак моя задача сделать так чтоб при срабатывании удачи в 50% случаев наносился еще 50% доп.урона. Вот что я сделал.. !?MF1&v5105=1; Тригер на атаку (v5105 определяет есть ли у героя нужный для срабатывания скил) !!BG:Q?y8; /сиотрим кто ходит !!FU&y8<>0:E; /если не левая сторона то выходим !!BG:N?y1; /№ текужего стэка !!BMy1:T?y2; /тип текущего стэка !!FU&y1>20:E; /если стэк врага(правой стороны) выходим !!VRy7:Sy1; /запоминаем номер стэка в y7 !!BMy1:U1/?y2; /берем минимальный урон стэка !!BMy1:N?y3; /берем количество воинов в стэке !!BMy1:A?y5; /берем атаку(с бонусами стэка) !!VRy5:Sy5*5; /т.к. каждая ед. атки это +5% дамаги сразу вносим это в переменную !!VRy5&y5>400:S400; /т.к. бонус дамаг от атаки не может быть больше 400% исключаем такую возможность !!VRy4:Sy3*y2; /умножаем кол-во существ на их минимальный урон !!VRy8:Sy4*50:100; /берем 50% этого показателя (т.к. при срабатывании удачи урон не удваеваеться а увеличиваеться на 50%) !!VRy6:Sy4*y5:100; /получаем доп. урон с учетом атаки !!VRy4:Sy4+y6; /прибавляем этот урон !!MF:N?y1; /берем номер атакуемого отряда !!BMy1:D?y5; /берем его защиту !!VRy3:Sy5*25:1000; /Каждая ед. защиты уменьшает урон на 2.5% учитываем это !!VRy3&y3>70:S70; /не может снижать урон более чем на 70% исключаем такое !!VRy6:Sy4*y3:100; /вычисляем % урона, который "уйдет в защиту' !!VRy4:Sy4-y6; /вычитаем этот урон !!VRy4:+y8; /прибавляем 50% (типа сработала удача) !!MF:D?y1; /смотрим какой урон нанесен !!FU&y1<y4:E; /если этот урон меньше чем тот что мы расчитали +50% выходим(значит удача не сработала) !!VRy6:S1R1; /кидаем кость на 50% !!FU&y6=1:E; /смотрим нрань если несовпала выходим !!BMy7:V18; /анимация удачи на атакующий отряд (будет 2 анимации удачи эта+родная) так мы увиди что сработал скил дамага !!VRy2:Sy1*50:100; /50% от урона !!VRy1:Sy1+y2; /прибавляем их к урону !!VRz2:M3/y1; /переводим строковую переменную в числовую !!BU:Mz2; /сообщение в быструю строку с нанесенным уроном !!MF:Fy1; /наносим отредактированный урон Вот такой гемморой! при проверке с маленькими показателями атаки/защиты все работает, но на больших картах со сверх показателями эта фигня часто срабатывает даже если небыло удачной атаки я уже заманался искать что тут неверно... HELP!!!! |
|
|
![]() ![]() |
Текстовая версия | Сейчас: 1 October 2025 - 01:59 |
Copyright by Алексей Крючков
![]() Programming by Degtyarev Dmitry |
|