Друг или враг: фракции NPC в Fable: The Lost Chapters
Автор статьи: Torionel
Если в Fable: TLC создать бандита или монстра, он без подсказки начнет нападать на мирных жителей. Это реализовано с помощью системы фракций, к которым принадлежат NPC.
Что такое фракция
В игровом сленге слово "фракция" (англ. "faction") — синоним слова "социальная группа","группировка" (в этом значении оно отличается от смысла, придаваемого в химии). Кстати, оно хорошо знакомо игрокам в World of Warcraft: там много сюжетных линий и полезных предметов открывается после прокачки высокой репутации у нужных фракций.
В случае с Fable вы можете присваивать NPC другие фракции, чтобы персонажи со старым обликом считали других персонажей врагами. Или вашего Героя (тут открывается простор для фантазии).
Где в Fable: TLC хранятся данные о фракциях
Пройдемся по навигации пошагово.
- Откройте Fable Explorer (FE).
- Откройте файл game.bin.
- Пролистайте список в левом нижнем окне до надписи FACTION и откройте ее двойным щелчком.
- Тут мы видим список имеющихся в игре фракций, их названия говорят сами за себя. Откройте любую двойным щелчком и в новом окне щелкните на плюс около "FACTION".
Блок EnemyFaction (по отношению к каким иным фракциям ваша будет враждебна) — если нужно что-то изменить, нажмите Add и впишите в новом текстовом поле название нужной фракции полностью.
Не забудьте изменить верхнее поле — (uint)FoesArray: тут указывается количество враждебных фракций (просто посчитайте, сколько их приводится чуть ниже, и введите это число).
Блок AlliedFaction — союзнические фракции. Ваша не будет к ним враждебна. Повторите все предыдущие операции, если требуется.
Создание новой фракции
- Откройте любую другую фракцию, нажмите Export и сохраните исходник куда угодно. Мы возьмем его за основу.
- Щелкните правой кнопкой на game.bin (левая верхняя панель) и нажмите Create New Entry.
- В поле Symbol Name впишите название в формате FACTION_BLABLA_BLA.
- В качестве Type укажите FACTION.
- Нажмите в этом же окошке 'Select Data File' и выберите сохраненный в первом шаге файл.
- Откройте созданную в game.bin фракцию — она появится в разделе FACTION — и впишите нужные значения.
- Сохраните все изменения.
Добавление фракции к NPC
Теперь самое главное: как прикрепить фракцию к вашему NPC? Это делается с помощью записи CEnemyDef всё в том же game.bin.
В CEnemyDef указан id фракции (числовое значение слева от ее названия), а сам CEnemyDef указывается в списке CDefs каждого NPC (откройте любую головную запись CREATURE и ее записи CDefs, чтобы убедиться в этом).
Итак, для прикрепления фракции к NPC у вас есть два пути:
- создать новую запись CEnemyDef, вписать туда id фракции и прикрепить новый деф к NPC в CREATURE этого персонажа (можете даже создать нового NPC, и прикрепить туда, а можете не создавать и прикрепить CEnemyDef к любому из имеющихся в игре);
- простой способ — прикрепить определенную фракцию определенному NPC при его размещении в локации (спауне).
Вот как это сделать через Chocolate Box (CBox):
- Щелкните на NPC.
- В левой панели с данным NPC откройте CEnemyDef.
- В поле FactionName впишите полное название фракции.
- Сохраните изменения в локации.
Вот и всё. Надеюсь, данная статья поможет вам в создании изысканных модов, которые оценят фанаты Fable.