Актуальная версия теперь будет тут: Ссылка на GitHub и Яндекс.Диск
Потихоньку реализую вещи которые лично мне бы хотелось видеть в фоле (можете закидать помидорами)
Прицельные промахи:
-Для попадания в глаза и пах теперь необходимо что бы цель была повернута к вам лицом, попасть в глаза стреляя в затылок теперь не получится. Попадания прицельным выстрелом по глазам когда цель стоит к вам спиной (или не тем боком) будут всегда превращаться в попадания в голову, тоже самое происходит если цель лежит лицом в пол. Вместо паха выстрелы и удары со спины или "задних" боков будут попадать в тело или в одну из ног. (N.B у некоторых существ попасть в пах можно только со стороны жопЪки - кентавры/собаки/брамины и др.)
-Промахи при прицельных атаках с вероятностью равной "шанс попадания в часть тела / 19" (т.е. максимум 5%) могут превратиться в попадание в соседнюю часть тела.
-Попадания в голову при условии что цель развернута к атакующему могут привести к попаданию в глаза.
-Положение частей тела(и соответственно возможность прицельного попадания в них) меняется в зависимости от анимации цели(если она лежит лицом в небо/пол, валяется на боку, и.т.д.)
Подправил границы зоны из которой атакующий может попасть в глаза и пах цели. Доработана зона в которой случайное существо может словить пулю вместо цели, при условии промаха атакующего.
- Расширил зону для попадания в случайную цель на пути пули/метательного оружия. Оригинальная система промахов (когда при промахе со 100% вероятностью задевалось существо ровно позади цели) осталась на месте, была лишь изменена область в которой выбирается новая случайная цель и вероятность попасть в неё, но если случайное существо одно и стоит ровно за спиной у изначальной цели, то пуля как всегда попадёт в неё).
- Добавлен шанс попасть по соседним частям тела при успешном неприцельном одиночном выстреле. Каждое успешное попадание может остаться с вероятностью 70% попаданием в тело. или стать попаданием в 3% в голову, 9% в руки, 11% в ноги и 7% в пах.
- Существа мелкого размера (муравьи, богомолы, мелкие скорпионы) имеют больший шанс попасть по ногам и практически не могут попасть в голову. Но если цель лежит на полу, то шанс попадания в голову многократно увеличивается.
-Добавлена опция для изменения эффекта при атаке ножом в зависимости от анимации атаки (резать/колоть), работает как у игрока, так и у НПЦ:
На скриншоте под спойлером сравнение предыдущей версии с новой. Черной линией ограничена зона для прицельных попаданий в глаза и пах. Красная зона между атакующим и целью/вокруг цели/ конус позади цели отображает зону в которой ваша пролетевшая мимо пуля может задеть случайную цель(зависит от расстояния до начальной цели, чем ближе к цели - тем шире конус, чем дальше, тем он сильнее сужается)
Фиолетовым цветом выделены новые возможные цели, если выстрел не попадет в первоначальную цель (под прицелом).
Повреждение конечностей от урона взрывом:
-Полученный урон от гранат(включая плазменные, а для роботов также ЕМП ), гранатомётов и прочего оружие взрывного действия, если он превышает 10% от текущих! очков здоровья может привести к повреждению рук/ног, поражению глаз. (Вероятность настраивается в ini файле и зависит также от некоторых показателей S.P.E.C.I.A.L. цели).
"Лог предыдущих обновлений"
ЯД:
-Теперь урон от яда могут получать не только игрок но и все существа без иммунитета к яду.
-Триггер на урон от яда срабатывает в конце каждого хода отравленного существа в бою или каждые 4-6 секунд вне боевого режима.
-Урон от яда зависит от максимального здоровья существа, от уровня накопленного яда и может быть настроен в .ini файле.
-Если яда накопится больше 100 ед. наступает мгновенная смерть.
-Отдых/перемещение по глобальной карте/использование навыков пропускающих время(первая помощь/доктор) приводит к тому, что накопленный яд наносит весь урон разом.
Переход по территориям одной карты мгновенно наносит НПЦ(кроме спутников) урон от всего накопленного яда. Выход на глобальную карту мгновенно наносит Спутникам игрока урон от всего накопленного яда.
Теперь хвосты радскорпионов можно использовать для нанесения яда на колющее и режущее оружие игрока и сопартийцев(со временем яд в хвосте заканчивается), с каждым применением на оружие в активной руке накладывается бафф яда(либо на не активную, если в активной нет подходящего оружия), который стакается только на этом оружии! до 10 зарядов (отображаются как перки в панели персонажа с указанием названия отравленного оружия), после чего каждый успешный удар повышает уровень яда у противника, чем больше зарядов тем сильнее отравление, каждая успешная атака с вероятностью 33% может потратить 1 заряд яда с оружия, также заряды постепенно убывают если убрать отравленное оружие из рук(в сумку/ продать/потерять). Метательное оружие: отравляется вся пачка, можно не боятся выкинуть единственный отравленный нож.
Восстановление здоровья:
-Если разогнать "скорость восстановления"(Healing_rate, HR) выше 5, то здоровье начнет постепенно восстанавливаться каждый ход в бою и каждые 5-6 сек вне боя.
-Стимуляторы восстанавливают 2-4 хп и увеличивают HR на 6 ед. на 1 мин., после чего снижают HR на 8ед на 1 час, затем показатели приходят в норму. (Максимальный отображаемый показатель HR = 30, но HR может уйти в "минус" и быть выше 30, просто это не будет отображаться в листе персонажа и не будет учитываться в формуле.)
-Количество восстанавливаемого здоровья зависит от максимального здоровья и величины HR.(настраивается в ini)
-Наличие трейта "Ускоренный метаболизм" увеличивает эффективность лечения и снижает штрафы накладываемые стимулятором и суперстимулятором.
-Некоторые монстры имеют пассивную регенерацию (ванаминго/кентавры, можно отключить в ini файле).
-Регенерация временно может снижаться или полностью прекратиться при получении достаточного количества "ожогов" от огненного или плазменного оружия. Эти "ожоги" действуют как на игрока, так и на НПЦ, снижая скорость лечения на 1-4 ед. за каждые 8-10 ед. урона полученных от огня и плазмы.(перк "Пироман" защищает от "ожога" при нанесении урона самому себе(гранаты, молотов) и увеличивает снижение регенерации у врагов. Состояние "ожога" проходит со временем.
-Отдых/перемещение по глобальной карте/использование навыков пропускающих
время(первая помощь/доктор) корректно восстанавливают здоровье в соответствии с формулой.
- Добавлен бонусный перк "Регенерация", который автоматически добавляется игроку, если базовая "скорость восстановления" будет больше 5, позволяющий с шансом, зависящим от "скорости восстановления", исцелять травмы конечностей при тиках лечения, как в бою так и вне боя.
"Лог предыдущих обновлений"
У меня появилась куча проблем и вопросов которые я надеюсь решить с вашей помощью:
- 1.
Исходная формула отравления все еще работает, её можно отключить или даже лучше переписать?(У меня были устаревшие headers (точнее вообще их не было) переделал старое поведение яда через hook_adjustpoison. Спасибо товарищу Сталину! Можно ли сделать мой первый скрипт не используя hook_Combatturn?( осознал что не надо)- 3.
Существует ли аналог dude_obj для кричей? в первом скрипте через hook_combat turn, аналог это нулевой get_sfall_arg. Как можно выделить всех кричей с уровнем яда не переписывая все их прото id в ручную? - 4.
Можно ли уменьшить длительность медикаментов ниже 1 игровой минуты(12 ходов)? любые дробные значения в duration_time не приводят к результату.Можно, но пока нет hook скрипта, лучше так не делать. Ссылка на комментарий с описанием метода. - 5.
Максимальный для всех существ уровень скорости восстановления(Healing_rate) 30, минимальный 0, опытным путем я установил что истинные значения всё ж на месте. можно иметь отрицательный уровень и также больше 30, но на результат моих формул это не влияет.(set_stat_max,set_stat_min) 6.Можно ли как-то отложить срабатывание скрипта после загрузки сейва? К примеру нужно чтобы процедура map_enter_p_proc срабатывала через энное количество (секунд/фреймов/тиков) загрузки карты?( В процедуре map_enter_p_proc сделал вызов другой процедуры через "call {procedure} in {delay};"
Спасибо за то что дочитали!
Сообщение отредактировал DeKRuS: 29 Май 2022 - 15:08