Skip to content

09 — Loadout and stance

  • FS §7 Loadout and stance — FS-LOD-*
  • GDD: Weapon Loadout, paper doll 15 slots
  • Press/Hold/Release for keys 1–7 + wheel: 08-camera-input-movement.md § Keymapping bible E–F
  • Pad stance wheel: Hold RB / R1 (FS-INP-005)

Two words that are easy to mix up:

  • Loadout is what the operative has equipped in the slots: which guns, melee weapons, Wrist and Phys Shield (FS-LOD-001). It is set up on the Character I screen, outside combat.
  • Stance is what is in the operative’s hands right now, built from that loadout, and it changes in combat. A key does not define a stance. A key (or the wheel) picks something from the loadout, and the stance follows from what is in hand: one gun is SoloGun (or TwoHand for a 2H weapon), two 1H guns DualGun, a gun and the shield GunPhysShield, a gun and a melee weapon Hybrid, one melee weapon SoloMelee, Wrist WristMelee.

Keys 2 / 3 are the Primary / Secondary gun and 4 / 5 the Primary / Secondary melee (FS-LOD-002). They are role slots, not weapon types: key 2 is whichever gun the player assigned as Primary. Only two things are fixed by type: key 1 is always Wrist melee, and the Phys Shield has no key of its own (it pairs through Hold 2 and Hold 4).

What the stance drives: the camera (a gun stance is first person, a melee stance always third person, FS-CAM-001), the verbs (ADS and Precision Aim only in a solo gun, hard-locked in dual, shield and hybrid stances, FS-LOD-007; the shield-side button is bash and block, FS-LOD-009), the tradeoffs (dual guns reload slower, a 2H weapon locks duals, hybrids and the shield pair), and the animation set and meshes others see.

  • Design locks: 15 equipped slots, stance machine, hotkeys, ADS matrix
  • Pad: Hold RB stance wheel / Tap RB reload (playtest provisional)
  • Mouse wheel singles loop includes Wrist (FS-LOD-005)
  • Built and tested (2026-11-14): UTFALoadoutComponent in TFACombat, with the stance rules in FTFAStanceMachine (default single stance, Tap 1–7, Hold 2 / 4 / 6 / 7, the Dual / shield cycles, hybrids, the 2H locks, the wheel by mode, ADS eligibility, fallback when an item is removed) covered by an automation test, TFA.Combat.StanceMachine. Server authoritative and replicated; the stance is published as the TFA.Stance.* tags from TFACore. Keys 1–7 and the mouse wheel are wired (see 08, section E).
  • Built (2026-11-14): the stance-driven camera (UTFACameraDirector, TFACombat): a gun stance is first person, a melee stance third person (FS-CAM-001). It is the first system to read the stance. See 08, the camera section.
  • Lyra weapon equip as a temporary stand-in: a solo gun stance also sets Lyra’s quickbar slot (dials in Project Settings → Game → TFA Loadout). The hero starts with an empty quickbar, so weapons are picked up first
  • Placeholder loadout from the same settings: a rifle on Primary gun (key 2) and a pistol on Secondary gun (key 3); melee, Wrist and the Phys Shield are empty. The item names are stand-ins, not an item id contract. Test other stances with the console command TFA.Loadout.Assign <slot> <ItemId|none> [2h]
  • Per-stance animation sets and weapon spawn / holster / hand attach from the stance (the weapons slice); nothing but the temporary quickbar bridge reacts to a stance change yet
  • More systems that read the stance tags: ADS gating in dual / shield stances (a first-person ADS camera too), HUD. The camera director already reads it
  • Real item data for the slots, and the Character I loadout screen that sets them
  • Melee, Wrist and Phys Shield items to equip, so those stances can be played and not just simulated
  • Pad Hold-RB stance wheel widget (pad stance bindings are not built)
  • Phys Shield hand side + bash/block remap (FS-LOD-009)

Open questions (implementation, 2026-11-14)

Section titled “Open questions (implementation, 2026-11-14)”

Not TBD-numbered yet: promote one to a TBD-0xx in the spec (§22) when design needs to rule on it. Until then the built behavior column is what UTFALoadoutComponent does, so nothing is silently undefined. All of it lives in FTFAStanceMachine, so changing a ruling is a small edit plus a test update.

# Question Built behavior (placeholder, easy to change) Spec text it comes from
1 While a 2H weapon is the active one, does Hold 2 / Hold 4 do nothing, or can it switch to Dual / shield pair (leaving the 2H)? Does nothing (cycle locked) FS-LOD-006 “active 2H … lock duals, hybrids, Phys Shield pair”
2 Can a hybrid (keys 6 / 7) be entered from a 2H stance, if the two hybrid pieces are both 1H? Yes: a stowed 2H does not block 1H draws, and entering the hybrid leaves the 2H FS-LOD-006 “Stowed 2H in another slot does not lock 1H draws”
3 When Hold 2 / 4 is pressed from a single stance, which step comes first: Dual, or the shield pair? Dual first, then shield pair, then back to Dual FS-LOD-004 only says the cycle is “Dual guns ↔ Gun + Phys Shield (skip empty steps)”
4 Entering Gun + Phys Shield: which 1H gun is the partner by default? The gun already in hand if 1H, otherwise Primary, then Secondary. The wheel then swaps it FS-LOD-005 covers the wheel swap, not the default
5 Which direction is mouse wheel up: forward or backward through the singles loop (Wrist → Primary gun → Secondary gun → Primary melee → Secondary melee)? Wheel up = forward (+1); wheel down = backward FS-LOD-005 gives the order, not the direction
6 Should a stance change be client-predicted (it drives camera perspective, ADS and, later, weapon draw), or wait for the server round trip? Server authoritative: the client asks, the server applies and replicates. No prediction yet FS-ARCH-013 (hybrid hit auth), FS-CAM-001 (stance owns perspective)
7 If an equipped item is removed while it is part of the current stance, which stance should the player fall back to? The default single stance (first filled of Primary gun, Secondary gun, Primary melee, Secondary melee, Wrist) FS-LOD-003 “Default stance is always single”
8 Do the Primary / Secondary gun slots accept every gun class, including 2H, with the 2H rules handling the consequences, or are some slots 1H only? Any gun, including 2H (the slots hold an item and a two-handed flag; the rules enforce the consequences) FS-LOD-001, FS-LOD-006
9 Which perspective does the Hybrid stance (a gun in one hand, a melee weapon in the other) use? First person (a gun is drawn), as a dial (bHybridIsFirstPerson, Project Settings → Game → TFA Camera Director) FS-CAM-001: “firearm is the active stance” is first person, “melee is the active equipped stance” is always third person; a Hybrid is both
10 Should dual-wield guns and gun + Phys Shield stances be first person, given ADS is locked in them? Yes, any stance with a gun in hand is first person FS-CAM-001 keys perspective to the gun being drawn, FS-LOD-007 locks ADS there
  • AC-LOD-001 (includes shield-side bash/block)