AI additions
версия 2.0 fix4
для S.T.A.L.K.E.R. Тень Чернобыля (1.0004/1.0006)

Официальная тема: www.amk-team.ru/forum/topic/4653-ai-additions/

В данном аддоне использованы нароботки и идеи от таких модмейкеров:
xStream,Charsi,Monnoroch,Alundaio и других товарищей.

=====================================================
--- Установка ---
Внимание! Версия 2.0 не совместима с более ранними версиями
Если у вас уже установлен Ai Additions или AI Pack, их необходимо полностью удалить

Не советую пытаться адаптировать файлы state_mgr*.script, полная замена предпочтительна

адаптация для 4 патча в _patch4.rar
=====================================================
--- Краткое описание ---

Дополнение, улучшающее игровой ИИ, главным образом в боевой части

Расширение возможностей НПС за счёт добавления новых схем поведения:
1 Стрельба с подствольных гранатомётов
2 Перезарядка оружия после боя
3 Перевязка (самолечение)
4 Удар в лицо (рукопашный бой)
5 Использование ножа
6 Выбор подходящего оружия
7 Проверка друзей на линии огня
8 Надевание аддонов на оружие
9 Лечение раненых
10 Собирательство
+
11 Ожидание после боя
12 Оборона от монстров
13 Метание гранат
14 Камикадзе
15 Переодевание в лучшую броню
16 Оттаскивание трупов
17 Хромание НПС

Также исправлены некоторые баги общего поведения НПС, улучшены оригинальный схемы.

=====================================================

--- Особенности: ---


Перезарядка оружия - модуль rx_reload
	НПС перезаряжают оружие для сохранения боеготовности.
	Исправление ситуации, когда НПС встречал обнаруженного врага с пустым/полупустым магазином,
	так как потратил патроны в перестрелке или подобрал разряженное оружие.
	-дополнительно- Перезаряжается всё используемое оружие, а не только активное
	-дополнительно- Чистка оружия при перезарядке (починка на небольшой процент)

Менеджер оружия - модуль rx_wmgr
	Выбор лучшего оружия на основе параметров/цены/заданного приоритета
	Выбор оружия в бою исходя из исходя из конкретной ситуации
	Возможность управления оружейными предпочтениями персонажей
	Ограничение использования гранатомётов (проверка безопасности для окружающих)
	-дополнительно- Функционал управления выбором оружия из сторонних скриптов

Перевязка - модуль rx_bandage
	НПС лечатся, используя бинты и аптечки
	Используются соответствующие анимации
	В бою лечение происходит в укрытии
	-дополнительно- Спавн медикаментов при необходимости

Удар в лицо - модуль rx_facer
	НПС бьёт руками/прикладом оказавшихся рядом противников
	Если нет оружия, может подкрадываться к врагам для удара
	Сила и частота ударов зависит от ранга персонажа

Стрельба с подствольных гранатометов - модуль rx_gl
	НПС используют подствольный гранатомёт
	Стрельба как по видимым целям, так и по врагам в укрытии. Использование упреждения.
	Перезарядка гранатомёта после выстрела
	Проверка безопасности для стреляющего и дружественных персонажей (исключён суицид методом самоподрыва)
	Эффективность зависит от ранга персонажа

Бой с ножом - модуль rx_knife
	НПС использует нож в бою с людьми и мутантами
	Преследование цели
	Нож спавнится автоматически
	Урон зависит от ранга персонажа

По своим не стрелять - модуль rx_ff
	Если на линии огня оказался союзник, НПС прекращает огонь и меняет позицию

Напяливание аддонов - модуль rx_addons
	НПС могут прикреплять к своему оружию аддоны: оптический прицел, глушитель, подствольный гранатомет.
	Также снимают аддоны и переодевают на лучшее оружие
	Продажа лишнего (неиспользуемого) оружия

Добивание раненых - модуль rx_kill_wounded
	Заменяет багнутую движковую схему
	Разные вырианты добивания
	Разные предпочтения у группировок

Лечение раненых - модуль xr_help_wounded
	НПС будут лечить лежачих больных
	Озвучка присутствует

Собирательство - модуль xr_corpse_detection (3.06)
	НПС обыскивают трупы, собирают предметы.
	Анимации обыска, подбора предметов, отделения частей мутантов.
	Озвучка обыска трупов из Зова припяти (в комплекте русская озвучка)
	Динамический выбор цели
	Широкие возможности настройки

Исправление боевой системы - модуль rx_combat
	Раненые НПС перемещаются в укрытие бегом

Ожидание после боя ( импорт схемы ЧНЗП) - модуль post_combat_idle
	После убийства врагов НПС некоторое время сидят на месте,
	отыгрывая соответствующие анимации и озвучку

Оттаскивание трупов ("анти-веселая понихида" от xStream) (модифицированный xr_kamp.script)
	NPC находящиеся на отдыхе (у костра, например) будут оттаскивать в сторону трупы людей и животных.

Переодевание (схема "тамагочи" от xStream) - модуль xrs_armor
	теперь NPC можно продать какой-нибудь костюм и если его устроит, то он его оденет.
	Неписи очень стеснительные, поэтому переодеваются только тогда, когда гг их не видит и находится как минимум за 15 метров от них
	Кроме того введена система апгрейда брони - теперь NPC развиваются, вполне возможно встретить по прошествии времени NPC новичка, который обзавелся, например, костюмом сталкера или даже СЕВОЙ.

Метание гранат (ремейк схемы "гренадер" от xStream) - модуль xrs_grenade
	НПС. кидают гранаты. во врагов.

Камикадзе (ремейк схемы от Monnoroch)
	Психи-камикадзе (некоторые монолитовцы) достают гранату, выдергивают чеку и бегут на противника.

Хромание НПС (модифицированный xr_wounded.script)
	Добавлен новый режим "легкого тяжелого ранения", в котором НПС:
	- при наличии врага стараются спрятаться от него, ковыляя в укрытие
	- находясь в укрытии, могут сами себя вылечить (при наличии аптечки)
	- используют сидячую анимацию вместо лежачей

Оборона от монстров (monster_defend)
	Теперь вместо того, чтобы прятаться от монстров по укрытиям, НПС будет увеличивать дистанцию, чтобы расстрелять мутанта с безопасного расстояния, а также пытаться уклониться от атаки.

=====================================================

--- Другие исправления/улучшения: ---


Озвучка
	Добавлена реакция на дружественный огонь/гранаты
	Ограничение озвучки смерти при попадании в голову

move_mgr
	Исправлен баг, приводящий к сбою логики
	Добавлена блокировка управления персонажем во время работы общих схем

xr_combat_ignore
	функция is_ignored

xr_danger
	добавлен флаг для скриптов
	фикс реагирования на трупы

xr_motivator
	включены колбеки on_item_take,on_item_drop

state_mgr
	Исправление багов, оптимизация

xr_sleeper
	исправлена ненадежная работа схемы на путях с двумя точками (синдром Толика)

xr_meet
	оптимизация
	правка "не пялиться часами"
	правка "возникать по оружию, если только гг целится в меня"

xr_kamp
	добавлено случайное смещение направления взгляда от центра кампа
	исправлено продолжение музыки без инструмента

=====================================================

История изменений

------------------------
fix4 (16.04.2017)
	~Исправление мелких ошибок

------------------------
fix3 (28.12.2016)
	~окончательное решение вылетов 'dBodyStateValide(b)' и 'error in stalker wih visual' (xrs_grenade)

------------------------
fix2 (25.12.2016)
	~Настроено положение гранат и ножа в руке
 	+Добавлен постпроцесс эффект удара в лицо
	~Исправлен вылет 'e_entity->ID_Parent == id_parent'
	~Фикс вылета 'dBodyStateValide(b)'
	~Фикс вылета 'error in stalker wih visual'
	+поддержка гранат с нестандартной массой (xrs_grenade)

------------------------
fix1 (06.11.2016)
	~ Исправлена ошибка в state_mgr
	~ Increased grenade respawn time
	+ Добавлена инструкция по добавлению гранат для схемы grenadier

------------------------
Версия 2.0 (16.10.2016) - Глобальное обновление

Расширен состав сборки, интегрирован AI Pack
Схемы добавлены:
	Ожидание после боя
	Оборона от монстров
	Метание гранат
	Камикадзе
	Переодевание в лучшую броню
	Оттаскивание трупов
	Хромание НПС

Серьёзно обновлены:
	схема "Перевязка"
	схема "Бой с ножом" (полноценный вариант из ЧНЗП)
	менеджер оружия


rx_addons
	Оптимизация
	Модифицирован механизм трансфера оружия
	Отслеживание приобретения нового аддона
	Добавлена функция продажи лишнего оружия

rx_bandage
	+Добавлена поддержка профилей и управление из логики
	+Теперь отображается именно тот предмет, который НПС использует; фейковый бинт убран
	+Добавлены анимации для разных медикаментов
	~Исправлено не отображавшийся в руке предмет при включенном фонаре
	~Исправлены глюки анимации в присяде

rx_combat
	+Новая схема борьбы с монстрами
	+Раненые НПС перемещаются в укрытие бегом
	+фикс некоторых движковых багов

rx_facer
	~Исправлена работа при критическом ранении
	~Исправлен период проверки
	+Добавлена настройка разрешённых целей
	+Добавлены анимации критического ранения для жертвы

rx_ff
	+Добавлена проверка при стрельбе вслепую
	~исправлено вмешательство в перемещение персонажа

rx_gl
	~Исправлено одновременное проигрывание нескольких звуков предупреждения
	+Работа в схеме danger
	~Улучшена работа по скрытой цели
	+Реакция на гранаты при перезарядке
	~Исправлена перезарядка при критическом ранении

rx_kill_wounded
	+Добавлена пауза после убийства
	~Исправлена пауза между выстрелами

xrs_armor
	Проведена серьёзная оптимизация

xr_kamp (оттаскивание трупов)
	Оптимизация
	Исправление множества недоработок и настройка
	Улучшение внешнего вида

xrs_grenade
	Схема полностью переделана
	Улучшена аудиовизуальная составляющая ( правильные анимации и озвучка )
	Улучшена проверка безопасности
	НПС начинают кидать гранаты, если противник скрылся из виду
	Добавлен разброс при прицеливании
	Улучшено уклонение от гранат
	Добавлена схема камикадзе
	Добавлены маркеры на худе на кинутую гранату в стиле ЧН/ЗП (автор Charsi)
	Ну и конечно много других улучшений, всё перечислить невозможно.


Плюс ещё множество различных правок платформы и схем аддона.


state_mgr
	Менеджер состояний серьезно модифицирован:
	- исправление ошибок, оптимизация, небольшое расширение функционала.

move_mgr
	Исправлен баг, приводящий к сбою логики
	Добавлена блокировка управления персонажем во время работы общих схем

xr_danger
	фикс реагирования на трупы
xr_sleeper
	исправлена ненадежная работа схемы на путях с двумя точками (синдром Толика)
xr_meet
	оптимизация
	правка "не пялиться часами"
	правка "возникать по оружию, если только гг целится в меня"
xr_kamp
	добавлено случайное смещение направления взгляда от центра кампа
	исправлено продолжение музыки без инструмента


------------------------
Версия 1.933 (22.08.2016)

rx_gl : Исправление возможной ошибки при удалении НПС во время боя
Поддержка схемы corpse detection версии 3.05
Пара мелких правок

(rx_ai.script,rx_gl.script,rx_utils.script,xr_help_wounded.script,bind_monster.script,xr_motivator.script,state_mgr_weapon.script)

------------------------
Версия 1.932 (03.08.2016)

Исправлен вылет при убийстве НПС с ножом в руке (death_manager.script)

------------------------
Версия 1.931 (05.06.2016)

rx_sound
	+добавлен список исключений НПС

rx_kill_wounded
	~фикс включения схемы при наличии здорового врага
	~включена реакция на гранаты

xr_help_wounded
	~фикс включения схемы при наличии здорового врага
	~включена реакция на гранаты и ранения

------------------------
Версия 1.93 (03.06.2016)

Общее:
	убраны файлы state_lib.script,state_mgr_animation_list.script

state_mgr
	+добавлена пара state_mgr_to_idle_off из АМК

state_mgr_weapon
	~исправлено возможное зависание менеджера при смене оружия

rx_kill_wounded
	~предохранитель от гранатомёта в пистолетном слоте

rx_reload
	~исправлена ошибка в биндере
	~отключен стейт менеджер

rx_sound
	+модульность загрузки озвучки
	~починена задержка проигрывания звука

rx_utils
	+функции get_mag_size,get_wpn_type (перенесены из rx_reload)

xr_help_wounded
	~исправлено зависание, если лекаря отпинывают в сторону
	+в анимацию добавлен визуал бинта

------------------------
Версия 1.925 (24.05.2016)

Общее:
	Исправлено несколько проблем
	(rx_ai,rx_utils,rx_gl,rx_kill_wounded,rx_reload,xr_help_wounded)

------------------------
Версия 1.92 (17.05.2016)

Общее:
	+добавлена схема xr_help_wounded
	+добавлена поддержка схемы xr_corpse_detection ( сама схема отдельно )
	~Исправлено в настройках название групировки военных (было army из ЗП)
	%Затронуты файлы:
		bind_monster.script	(death_callback)
		xr_logic.script		(reset_schemes)
		state_mgr.script	(block_sound, фикс movement_enable)
		state_lib.script	(анимации)
		state_mgr_animation_list.script	(анимации)

rx_ai
	+Возможность настройки вероятности отыгрывания озвучки смерти и реакции на дружественный огонь

rx_sound
	~Добавлена поддержка движковой озвучки
	~Заблокирована лишняя озвучка тревоги при переключении с боевых схем на движковую боёвку
	+Добавлен класс для проигрывания звуков из конфига объекта

rx_facer
	~исправлен сброс текущей анимации перед ударом

rx_gl
	+Добавлено предупреждение игрока

rx_knife
	~Исправление дальности атаки
	+Добавлены партиклы крови
	~Исправлена пауза в 30 секунд после спавна ножа

rx_kill_wounded
	~Небольшие исправления

------------------------
Версия 1.91 (01.04.2016)

Общее:
	+добавлена схема rx_kill_wounded
	+добавлена схема rx_knife
	+добавлен модуль озвучки персонажей
	+включена озвучка дружественного огня
	+парсинг списков группировок и рангов из конфига
	~исправлен конфликт схем с менеджером оружия

rx_bandage
	~исправлена возможность повторного спавна rx_attach_bandage
	~фикс залипания анимации
	+добавлено выпадение бинта при смерти персонажа во время перевязки

rx_facer
	~исправлена проблема с запоминанием обиды
	+озвучка избиения друзей
	~фикс поворота после удара
	+поддержка rx_knife
	~исправлена ошибка, приводившая к отключению менеджера оружия

rx_ff
	+добавлен учёт разброса оружия
	+поддержка rx_knife
	~улучшено определение кемпера

rx_gl
	+озвучка
	~фикс звука перезарядки
	~фикс стрельбы по раненым/мёртвым врагам


rx_reload
	~оптимизация схемы
	~запрет для торговцев
	+поддержка rx_kill_wounded

------------------------
Версия 1.9 (27.01.2016)

схема rx_ff "По своим не стрелять"
	Оптимизация, небольшие правки.

Схема rx_facer "Удар в лицо"
	Оптимизация, небольшие правки.

Схема rx_bandage "Перевязка"
	Оптимизация
	улучшен поиск укрытия
	Полноценная работа схемы в любое время, а не только в бою
	Зависимость времени перевязки от ранга
	и другие правки


Схема rx_reload "Перезарядка оружия"
	Работает независимо от менеджера оружия. 
	Перезаряжает лучшее оружие каждого типа.
	В наличии опция для перезарядки только одного лучшего оружия.
	Функция "чистки" ствола - немного повышает состояние оружия при перезарядке.


Схема rx_gl "Стрельба с подствольных гранатометов"
	Переделана сама концепция.
	Теперь есть 2 режима стрельбы:
	1 Стрельба "на глаз" по видимой цели, без использования проверочного снаряда. Осуществляется из любого положения: сидя, стоя, на ходу и даже на бегу. Обеспечивает быстрое и точное поражение цели при отсутствии препятствий на траектории. Возможна стрельба на упреждение движения цели.
	2 Обстреливание позиции, где последний раз был виден враг. Выполняется при отсутствии видимой цели, используется проверочный снаряд. Реализована групповая память - члены группы обмениваются иформацией о расположении врага.
	ещё
	Увеличена возможная дальность и точность, по сути дальность теперь не ограничена (т.е. ограничена баллистической досягаемостью).
	Убрано расходование боеприпасов, НПС могут стрелять неограниченно одной гранатой - как с обычными патронами; есть опция автоматического спавна гранаты при наличии подствола.
	улучшена анимация и эффекты выстрела
	Настройки времени прицеливания, точности и скорострельности для рангов.

=====================================================
28.12.2016
Rulix aka Bak
