Salta ai contenuti

Fazioni, squadre e sanzioni

Due resource: bs_factions (fazioni, squadre, tesoreria, progressione) e bs_faction_bases (bandiere, basi, sanzioni, prigione).

L’elenco delle fazioni e le ricompense di reputazione sono in bs_factions/config/config_factions.lua (Factions.List). I giocatori guadagnano reputazione facendo il lavoro della loro fazione (Factions.ActionRewards): la Militia uccide zombie, i Medics rianimano e curano, i Mechanics riparano e fabbricano, i Farmers raccolgono. La reputazione compra solo cosmetici, cinque livelli per fazione (titolo, abbigliamento, titolo, emote, titolo), con limite Factions.Settings.maxReputation.

Un’altra scala, appartiene alla fazione. La config è bs_factions/config/config_progression.lua. L’XP di fazione viene solo da due posti:

  1. Missioni di fazione - 3 giornaliere e 2 settimanali, casuali da Factions.Progression.Missions. Reset giornaliero alle 00:00 UTC, settimanale il lunedì alle 00:00 UTC. Tipi: action (uccisioni di zombie, rianimazioni, crafting…), extract (estrazioni riuscite) e deliver (consegnare oggetti alla tua bandiera).
  2. Donazioni alla tesoreria - 1 XP ogni 25 $ (donation.dollarsPerXp), massimo 400 XP per membro al giorno (donation.dailyXpCap).

L’XP dal livello n a n+1 è floor(400 * n^1.55) (curve.base, curve.exponent). Un punto skill per livello. L’albero delle skill (slot stash, velocità di costruzione, sconto dai mercanti, cooldown dei booster, tasso di donazione, paga delle missioni, quartiermastro) è in Factions.Progression.Skills.

I livelli sbloccano anche cose delle basi (flag_outpost al 3, uno slot bandiera extra a 10, 20 e 30) e colori/stili dei nametag.

Una squadra è composta da 2 fino a Factions.Squad.maxSize giocatori della stessa fazione. Una squadra per giocatore.

Factions.Squad = {
maxSize = 5,
maxRanks = 6,
nameMax = 24,
inviteSeconds = 60,
inviteDistance = 25.0,
...
}
  • /squad o F2 (Factions.Squad.uiKey) apre la console di squadra. Funzionano anche /squadaccept e /squaddecline.
  • Invita tenendo premuto ALT e mirando a un giocatore, oppure dall’elenco.
  • Le squadre vengono salvate (bs_squads, bs_squad_members) e sopravvivono ai riavvii. I membri offline mantengono il posto, un capo resta capo anche offline.
  • I membri della squadra hanno blip sulla mappa e un HUD di gruppo. I compagni solo di fazione non hanno blip.

Factions.Squad.maxSize e il raggio dei nametag possono essere cambiati in diretta in F1.

I capi impostano i permessi per grado: deposit, withdraw, invite, kick, promote, sanction, build, jail, squad_manage, skills. Di default solo il Leader preleva. Si può impostare anche un tetto giornaliero di prelievo per grado (0 = illimitato). Tutto è nel menu della fazione, schede Treasury e Ranks.

Chi può sanzionare: gli admin (bs.admin), il Leader della fazione e qualsiasi grado con il permesso sanction. I modelli sono in 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 sono minuti, chi la emette sceglie nell’intervallo. I livelli sono minor, moderate, severe, critical.

Effetti utilizzabili in un modello: xp_penalty, drop_penalty, build_lock, bank_lock, leave_lock, mute_faction_chat, no_squad, rep_freeze, rep_penalty (istantaneo), fine (istantanea, va alla tesoreria), jail.

Prigione (FactionBases.Jail): il Leader, il Vice o un admin imposta l’origine della prigione e le celle numerate dalla scheda Jail. I detenuti non possono uscire da defaultRadius (25 m), compare un timer e resta valido anche dopo un relog. Gli admin hanno anche una prigione globale.