Перейти к содержимому

Фракции, отряды и санкции

Два ресурса: bs_factions (фракции, отряды, казна, прогресс) и bs_faction_bases (флаги, базы, санкции, тюрьма).

Список фракций и награды репутации лежат в bs_factions/config/config_factions.lua (Factions.List). Игроки получают репутацию, занимаясь делом своей фракции (Factions.ActionRewards): Militia убивают зомби, Medics реанимируют и лечат, Mechanics чинят и крафтят, Farmers собирают. Репутация покупает только косметику, пять ступеней на фракцию (титул, одежда, титул, эмоция, титул), ограничена Factions.Settings.maxReputation.

Другая лестница, принадлежит фракции. Конфиг bs_factions/config/config_progression.lua. Опыт фракции берётся только из двух мест:

  1. Задания фракции - 3 ежедневных и 2 еженедельных, случайные из Factions.Progression.Missions. Ежедневный сброс в 00:00 UTC, еженедельный в понедельник в 00:00 UTC. Виды: action (убийства зомби, реанимации, крафт…), extract (успешные эвакуации) и deliver (сдать предметы у своего флага).
  2. Пожертвования в казну - 1 опыт за 25 $ (donation.dollarsPerXp), максимум 400 опыта на участника в день (donation.dailyXpCap).

Опыт для уровня n до n+1 равен floor(400 * n^1.55) (curve.base, curve.exponent). Одно очко навыка за уровень. Дерево навыков (слоты тайника, скорость строительства, скидка у торговцев, перезарядка бустеров, ставка пожертвований, оплата заданий, квартирмейстер) находится в Factions.Progression.Skills.

Уровни также открывают вещи для баз (flag_outpost на 3, дополнительный слот флага на 10, 20 и 30) и цвета/стили именных табличек.

Отряд это от 2 до Factions.Squad.maxSize игроков одной фракции. Один отряд на игрока.

Factions.Squad = {
maxSize = 5,
maxRanks = 6,
nameMax = 24,
inviteSeconds = 60,
inviteDistance = 25.0,
...
}
  • /squad или F2 (Factions.Squad.uiKey) открывает консоль отряда. /squadaccept и /squaddecline тоже работают.
  • Приглашай, удерживая ALT и наведясь на игрока, или из списка.
  • Отряды сохраняются (bs_squads, bs_squad_members) и переживают перезапуски. Участники офлайн сохраняют место, лидер остаётся лидером и офлайн.
  • У участников отряда есть метки на карте и групповой HUD. У тех, кто только в одной фракции, меток нет.

Factions.Squad.maxSize и дальность именных табличек можно менять вживую в F1.

Лидеры задают права для каждого звания: deposit, withdraw, invite, kick, promote, sanction, build, jail, squad_manage, skills. По умолчанию снимать деньги может только Leader. Можно также задать суточный лимит снятия на звание (0 = без лимита). Всё это в меню фракции, вкладки Treasury и Ranks.

Кто может налагать санкции: админы (bs.admin), Leader фракции и любое звание с правом sanction. Шаблоны лежат в bs_faction_bases/config/config.lua:

{ id='mod_jail', tier='moderate', label='Detention', effects={ jail=true, fine=250 }, min=5, max=30, default=10 },

min/max/default это минуты, тот, кто налагает, выбирает в пределах диапазона. Уровни: minor, moderate, severe, critical.

Эффекты, которые можно использовать в шаблоне: xp_penalty, drop_penalty, build_lock, bank_lock, leave_lock, mute_faction_chat, no_squad, rep_freeze, rep_penalty (мгновенный), fine (мгновенный, идёт в казну), jail.

Тюрьма (FactionBases.Jail): Leader, Vice или админ задаёт точку тюрьмы и пронумерованные камеры на вкладке Jail. Заключённые не могут покинуть defaultRadius (25 м), показывается таймер, и срок переживает перезаход. У админов есть и глобальная тюрьма.