Pular para o conteúdo

Fações, esquadrões e sanções

Dois resources: bs_factions (fações, esquadrões, tesouraria, progressão) e bs_faction_bases (bandeiras, bases, sanções, prisão).

A lista de fações e as recompensas de reputação estão em bs_factions/config/config_factions.lua (Factions.List). Os jogadores ganham reputação a fazer o trabalho da sua fação (Factions.ActionRewards): a Militia mata zombies, os Medics reanimam e tratam, os Mechanics reparam e fabricam, os Farmers recolhem. A reputação só compra cosméticos, cinco níveis por fação (título, roupa, título, emote, título), limitada por Factions.Settings.maxReputation.

Outra escada, pertence à fação. A config é bs_factions/config/config_progression.lua. O XP de fação vem só de dois sítios:

  1. Missões de fação - 3 diárias e 2 semanais, aleatórias de Factions.Progression.Missions. Reset diário às 00:00 UTC, semanal à segunda às 00:00 UTC. Tipos: action (mortes de zombies, reanimações, crafting…), extract (extrações bem-sucedidas) e deliver (entregar itens na tua bandeira).
  2. Doações para a tesouraria - 1 XP por 25 $ (donation.dollarsPerXp), máx. 400 XP por membro por dia (donation.dailyXpCap).

O XP do nível n para n+1 é floor(400 * n^1.55) (curve.base, curve.exponent). Um ponto de skill por nível. A árvore de skills (slots de stash, velocidade de construção, desconto nos vendedores, cooldown de boosters, taxa de doação, pagamento de missões, intendente) está em Factions.Progression.Skills.

Os níveis também desbloqueiam coisas de bases (flag_outpost no 3, um slot extra de bandeira no 10, 20 e 30) e cores/estilos de name tag.

Um esquadrão tem de 2 a Factions.Squad.maxSize jogadores da mesma fação. Um esquadrão por jogador.

Factions.Squad = {
maxSize = 5,
maxRanks = 6,
nameMax = 24,
inviteSeconds = 60,
inviteDistance = 25.0,
...
}
  • /squad ou F2 (Factions.Squad.uiKey) abre a consola de esquadrão. /squadaccept, /squaddecline também funcionam.
  • Convida segurando ALT e apontando a um jogador, ou a partir da lista.
  • Os esquadrões são guardados (bs_squads, bs_squad_members) e sobrevivem a reinícios. Os membros offline mantêm o lugar, um líder continua líder offline.
  • Os membros do esquadrão têm blips no mapa e um HUD de grupo. Colegas só da fação não têm blips.

Factions.Squad.maxSize e o alcance da name tag podem ser alterados em direto no F1.

Os líderes definem permissões por patente: deposit, withdraw, invite, kick, promote, sanction, build, jail, squad_manage, skills. Por defeito só o Leader levanta. Também se pode definir um limite diário de levantamento por patente (0 = ilimitado). Tudo isto está no menu da fação, separadores Treasury e Ranks.

Quem pode sancionar: admins (bs.admin), o Leader da fação e qualquer patente com a permissão sanction. Os modelos estão em 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 são minutos, quem aplica escolhe dentro do intervalo. Os níveis são minor, moderate, severe, critical.

Efeitos que podes usar num modelo: xp_penalty, drop_penalty, build_lock, bank_lock, leave_lock, mute_faction_chat, no_squad, rep_freeze, rep_penalty (instantâneo), fine (instantânea, vai para a tesouraria), jail.

Prisão (FactionBases.Jail): o Leader, o Vice ou um admin define a origem da prisão e as celas numeradas no separador Jail. Os reclusos não podem sair de defaultRadius (25 m), é mostrado um temporizador, e sobrevive a um relog. Os admins também têm uma prisão global.