11 — Weapons and Firehand Bus
Builder stack (read first)
Section titled “Builder stack (read first)”| Piece | What it is | Demo now |
|---|---|---|
| Firehand Bus | TFA gun brain (UTFAFirehandBus in TFAWeapons) — active gun, reticle/bloom/mag from Receiver×Frame, Flow handoff |
Build this before enabling SKG |
| ShooterCore | Lyra reference GFP | Live fire / kill credit until Firehand is wired |
SKG (SKGShooterFramework) |
Marketplace FPS runtime (meshes, attachments, ballistics presentation) | On disk, off — Firehand wraps it later; no dual fire stacks |
GDD names Firehand as player-facing reticle/mag language. This chapter + FS-GUN-005 own how plugins join. Demo guns path: docs/22-demo.md.
Anchors
Section titled “Anchors”- FS §12 Gunfeel and Firehand Bus — FS-GUN-* (especially FS-GUN-005)
- GDD: Gun Receiver × Frame cadence, Aim Assist & Gunfeel Programming; taxonomy Class / Receiver (Type) / Frame (FS-GUN-004); Class = Frame look · Frame archetype = data · Receiver = art subclass; Receiver Fire Mode + AA (FS-GUN-008); lean mesh design 2026-10-20 · OmniVisor Builder stack note under Firehand Bus
- Handover: remake under live host
…\Plugins\GameFeatures\TFAWeapons\(oldE:\Dev\projects\demo5.8\…\README_FAKE_MODULAR.mdpath is missing — do not chase)
Done (design / policy only)
Section titled “Done (design / policy only)”- Placeholder mesh policy documented (see content-placeholders)
- Blocked Receivers flagged (Rocket / Bow / Heavy) — FPS-15 (product lock)
Historical only (old test project — not live host)
Section titled “Historical only (old test project — not live host)”- TFAWeapons GFP scaffold (FPS-12)
- ~16 Receivers × ~78 Frames CSV + cadence validator (FS-GUN-007)
- Fake-modular parts schema (
bFakeModular) - C++ DA types / local plugin binaries
Have (on 5.8_terra_demo)
Section titled “Have (on 5.8_terra_demo)”- Lyra placeholder guns B_Pistol / B_Rifle / B_Shotgun / B_Grenade
- SKG vendor plugin on disk (
FPSFirst…) — not in.uprojectuntil Firehand
- Remake TFAWeapons GFP on live host; register in
.uproject; Experience-enable - Re-author GunFrames CSV (or recover old test CSV) → cook
UDA_TFA_GunFrames(keyed Receiver × Frame; legacyUDA_TFA_GunFamily→DA_TFA_GunReceiver) UTFAFirehandBusruntime + SKG adaptors- Accuracy vs Stability, recoil patterns (FS-GUN-002/003)
- Shotgun Shot Type Spread | Single (FS-GUN-010) — Firehand pellet fan vs single bullet
- Frame
PelletCount+PelletSpreadBase; BarrelPelletSpreadDeltachoke (Spread only; not AA — FS-GUN-008 exclusion) - RangeStat 0–100 → meters per Receiver × Frame (FS-GUN-011) — tables: inventory/weapon-range-falloff.md
- Demo fake-modular Mag / Sight / Scope / Zoom session overrides (FS-GUN-012) — no mesh; inventory/demo-fake-modular-optics-mags.md
- TrueFPP ADS (FS-GUN-013) — OpticKind / ZoomMult = gameplay camera FOV + Sight / Scope aim (look-through allowed for ScopeShort / ScopeLong); Firehand bloom / reticle tighten; OmniVisor is chrome, not zoom authority; remotes see TPP ADS pose
/Game/__TFA/Placeholder/or repoint soft paths- Real SK per Receiver (see content-placeholders)
- Demo Mod AA / gunfeel fields — Done vs Need inventory: inventory/demo-mod-gunfeel-vars.md · sample OV36
- AC-GUN-001, AC-GUN-002