Давно урывками касались этой темы, но пора бы наконец перевести это в структурированный гайд. Итак...
Компаньоны, их удовлетворенность и их желание свалить из отряда1) Боевой дух компаньонов.
БД компаньонов рассчитывается по следующей формуле:
(troop_get_slot, ":morality_grievances", ":npc", slot_troop_morality_penalties),
(troop_get_slot, ":personality_grievances", ":npc", slot_troop_personalityclash_penalties),
(party_get_morale, ":party_morale", "p_main_party"),
(store_sub, ":troop_morale", ":party_morale", ":morality_grievances"),
(val_sub, ":troop_morale", ":personality_grievances"),
(val_add, ":troop_morale", 50),
(assign, reg8, ":troop_morale"),
(val_mul, ":troop_morale", 3),
(val_div, ":troop_morale", 4),
(val_clamp, ":troop_morale", 0, 100),
Переводя на язык математики, БДкомп. = (БДотряда - значение слота slot_troop_morality_penalties - значение слота slot_troop_personalityclash_penalties + 50)*0,75.
Забегая вперед, БД компаньонов не должен опускаться ниже 20.
2) Значение слота slot_troop_morality_penalties меняется в следующих случаях:
- ГГ совершает действия, противные компаньону. Есть разные ситуации подобных действий:
а) ГГ посылает неприятного компаньону другого компаньона на сбор РТР. => +25 к значению слота.
б) ГГ непосредственно совершает дурной поступок (грабит деревни, караваны и пр. - зависит от личности спутника), сопровождается сообщением "... looks upset" => разные бонусы к значению слота в зависимости от личности компаньона.
б) ГГ использует реплику "Your objection is noted. Now fall back in line" в ответ на претензию => +10 к значению слота.
- если спутник покидает ГГ, значение слота обнуляется;
- если спутник хочет уйти, но ГГ уговаривает его остаться, значение слота уполовинивается;
- каждые 24 часа значение слота умножается на величину 90/Х где X = 100 - число компаньонов в отряде + навык убеждения ГГ (иными словами, если в отряде 20 компаньонов, а у ГГ убеждение равно 10, множитель будет равен 1).
3) Значение слота slot_troop_personalityclash_penalties меняется в следующих случаях:
- если спутник покидает ГГ, значение слота обнуляется;
- если спутник хочет уйти, но ГГ уговаривает его остаться, значение слота уполовинивается;
- каждые 24 часа значение слота умножается на величину 90/Х где X = 100 - число компаньонов в отряде + навык убеждения ГГ;
- 2 раза за игру значение слота увеличивается на 5, когда компаньон жалуется на одного из своих "врагов";
- раз в 24 часа компаньон будет получать + 5 очков к slot_troop_personalityclash_penalties за каждого своего "врага", чья сторона была принята ГГ в конфликте, либо +3 очка за каждого врага, конфликт с которым был разрешен словами "да идите вы оба" (Например, у Сэра Рэйна имеются 2 конфликта: с Боадис и с Фредериком. Каждый конфликт при этом происходит дважды для Сэра Рэйна: активно (когда жалуется он сам) и пассивно (когда жалоба поступает на него). Если я буду принимать решения равномерно - например, поддержу С.Р. при поступлении жалобы от Б., но поддержу Б. при поступлении жалобы от С.Р., и то же самое с Фредериком, то у С.Р. накопится +5+5=+10 очков к слоту. Если же во всех конфликтах я буду посылать обе стороны далеко и надолго, то у С.Р. накопится +3+3+3+3=+12 очков к слоту);
- раз в 24 часа значение слота умножается на 9/10, если у компаньона имеется друг в отряде (иными словами, если сторону каждого из 20 компаньонов принимать лишь единожды в споре с каждым его врагом и, т.о., обеспечить им рост значения слота slot_troop_personalityclash_penalties лишь по +10, то любые увеличения значения слота выше 90 будут компенсироваться эквивалентным или более высоким уменьшением за счет наличия друга).
4) Триггер, запускающий диалог "Я мухожук".
Раз в 24 часа, если у компаньона БД меньше 20, срабатывает триггер, который может привести к диалогу с компаньоном по поводу его ухода.
Из предыдущих разделов, а также упростив формулу, мы видим, что чтобы такое не происходило, надо соблюдать следующее неравенство:
БДотряда - дополнительные очки слотов > 67Под "дополнительные очки слотов" подразумеваются любые накопившиеся очки слотов slot_troop_personalityclash_penalties и slot_troop_morality_penalties, за исключением тех 90, после которых стабилизируется слот slot_troop_personalityclash_penalties (они уже включены в упрощение). В идеале значение слота slot_troop_morality_penalties должно быть равно 0 (если не делать гадостей, которые не нравятся вашим спутникам, и иметь достаточно высокое лидерство, чтобы множитель 24-часового триггера был 1 или ниже), а значение слота slot_troop_personalityclash_penalties должно быть равно 90 (при 20 компаньонах).
... но если условие данного неравенства все же не удалось соблюсти и БД компаньона оказался ниже 20, происходит следующее: генерируется случайное число от 0 до 99, к нему прибавляется БД компаньона, и если итоговое значение оказывается меньше 20, то запускается диалог.
5) Диалог об уходе.
Если запустился диалог об уходе, у ГГ есть шанс переубедить спутника (в случае успеха значения "штрафных" слотов, как уже упоминалось выше, уменьшатся в 2 раза) или отпустить его (значения слотов обнулятся, и если все внутрипатрийные дрязги вы уже утрясли, гадостей не делаете, а убеждение у вас 10, то после встречи компаньона вновь и повторного его найма это практически с вероятностью 100% гарантирует, что жалоб от него вы больше не услышите).
При попытке убеждения генерируется рандомное число от -2 до 12. Если навык убеждения ГГ больше или равен рандомному числу, компаньон остается. Т.о. вероятность успешного убеждения варьируется от 3/15 до 13/15.
Финальный вывод:
Leonion, сделай главное заключение: при убеждении 10 содержание всех 20 компаньонов без попыток уйти возможно.
Таки да. Не огорчайте компаньонов, равномерно решайте их конфликты друг с другом, заботьтесь о БД отряда и будет вам счастье.
