Aller au contenu

Factions, escouades et sanctions

Deux resources : bs_factions (factions, escouades, trésorerie, progression) et bs_faction_bases (drapeaux, bases, sanctions, prison).

La liste des factions et les récompenses de réputation sont dans bs_factions/config/config_factions.lua (Factions.List). Les joueurs gagnent de la réputation en faisant le travail de leur faction (Factions.ActionRewards) : la Militia tue des zombies, les Medics réaniment et soignent, les Mechanics réparent et craftent, les Farmers récoltent. La réputation n’achète que du cosmétique, cinq paliers par faction (titre, vêtement, titre, emote, titre), plafonnée par Factions.Settings.maxReputation.

Une autre échelle, elle appartient à la faction. La config est bs_factions/config/config_progression.lua. L’XP de faction ne vient que de deux endroits :

  1. Missions de faction - 3 quotidiennes et 2 hebdomadaires, tirées au hasard dans Factions.Progression.Missions. Réinitialisation quotidienne à 00:00 UTC, hebdomadaire le lundi à 00:00 UTC. Types : action (kills de zombies, réanimations, craft…), extract (extractions réussies) et deliver (déposer des items à ton drapeau).
  2. Dons à la trésorerie - 1 XP par tranche de 25 $ (donation.dollarsPerXp), maximum 400 XP par membre et par jour (donation.dailyXpCap).

L’XP du niveau n au n+1 vaut floor(400 * n^1.55) (curve.base, curve.exponent). Un point de compétence par niveau. L’arbre de compétences (emplacements de stash, vitesse de construction, remise chez les marchands, délai des boosters, taux de don, paie des missions, intendant) est dans Factions.Progression.Skills.

Les niveaux débloquent aussi des éléments de base (flag_outpost au 3, un emplacement de drapeau en plus aux niveaux 10, 20 et 30) et des couleurs/styles de plaque de nom.

Une escouade, c’est de 2 à Factions.Squad.maxSize joueurs de la même faction. Une escouade par joueur.

Factions.Squad = {
maxSize = 5,
maxRanks = 6,
nameMax = 24,
inviteSeconds = 60,
inviteDistance = 25.0,
...
}
  • /squad ou F2 (Factions.Squad.uiKey) ouvre la console d’escouade. /squadaccept et /squaddecline marchent aussi.
  • Invite en maintenant ALT et en visant un joueur, ou depuis la liste.
  • Les escouades sont sauvegardées (bs_squads, bs_squad_members) et survivent aux redémarrages. Les membres hors ligne gardent leur place, un chef reste chef hors ligne.
  • Les membres d’escouade ont des blips sur la carte et un HUD de groupe. Les simples camarades de faction n’ont pas de blips.

Factions.Squad.maxSize et la portée des plaques de nom peuvent être changés en direct dans F1.

Les chefs définissent des permissions par grade : deposit, withdraw, invite, kick, promote, sanction, build, jail, squad_manage, skills. Par défaut, seul le Leader retire. Un plafond de retrait quotidien par grade peut aussi être défini (0 = illimité). Tout se trouve dans le menu de faction, onglets Treasury et Ranks.

Qui peut sanctionner : les admins (bs.admin), le Leader de la faction et tout grade ayant la permission sanction. Les modèles sont dans 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 sont en minutes, l’émetteur choisit dans la plage. Les paliers sont minor, moderate, severe, critical.

Effets utilisables dans un modèle : xp_penalty, drop_penalty, build_lock, bank_lock, leave_lock, mute_faction_chat, no_squad, rep_freeze, rep_penalty (instantané), fine (instantanée, va à la trésorerie), jail.

Prison (FactionBases.Jail) : le Leader, le Vice ou un admin définit l’origine de la prison et les cellules numérotées depuis l’onglet Jail. Les détenus ne peuvent pas quitter defaultRadius (25 m), un minuteur s’affiche, et cela survit à une reconnexion. Les admins ont aussi une prison globale.