Друг или враг: фракции 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 — союзнические фракции. Ваша не будет к ним враждебна. Повторите все предыдущие операции, если требуется.

Создание новой фракции

  1. Откройте любую другую фракцию, нажмите Export и сохраните исходник куда угодно. Мы возьмем его за основу.
  2. Щелкните правой кнопкой на game.bin (левая верхняя панель) и нажмите Create New Entry.
  3. В поле Symbol Name впишите название в формате FACTION_BLABLA_BLA.
  4. В качестве Type укажите FACTION.
  5. Нажмите в этом же окошке 'Select Data File' и выберите сохраненный в первом шаге файл.
  6. Откройте созданную в game.bin фракцию — она появится в разделе FACTION — и впишите нужные значения.
  7. Сохраните все изменения.

Добавление фракции к NPC

Теперь самое главное: как прикрепить фракцию к вашему NPC? Это делается с помощью записи CEnemyDef всё в том же game.bin.

В CEnemyDef указан id фракции (числовое значение слева от ее названия), а сам CEnemyDef указывается в списке CDefs каждого NPC (откройте любую головную запись CREATURE и ее записи CDefs, чтобы убедиться в этом).

Итак, для прикрепления фракции к NPC у вас есть два пути:

  • создать новую запись CEnemyDef, вписать туда id фракции и прикрепить новый деф к NPC в CREATURE этого персонажа (можете даже создать нового NPC, и прикрепить туда, а можете не создавать и прикрепить CEnemyDef к любому из имеющихся в игре);
  • простой способ — прикрепить определенную фракцию определенному NPC при его размещении в локации (спауне).

Вот как это сделать через Chocolate Box (CBox):

  1. Щелкните на NPC.
  2. В левой панели с данным NPC откройте CEnemyDef.
  3. В поле FactionName впишите полное название фракции.
  4. Сохраните изменения в локации.

Вот и всё. Надеюсь, данная статья поможет вам в создании изысканных модов, которые оценят фанаты Fable.

Больше интересного о Fable — в нашем Telegram-канале