-
Notifications
You must be signed in to change notification settings - Fork 0
Respawn And Death Lifecycle Atlas
This page maps current Build84 player death, death-camera and menu recovery, spawn candidates, custom/default gear penalties, skin selector reapply, MASH/mobile/camp/HQ rules and AI respawn.
Lane 218 refresh, 2026-07-03: current source was checked against origin/claude/build84-cmdcon36@a26871e852470b86b68c2f4f58eb44b436d076d6. PR #478 (codex/lane188-respawn-handler-bug-pack@df438648f) is merged into that target, so the mode-1 penalty message, missing custom-gear-cost default and mode-5 base/HQ affordability fix are current Build84 behavior. PR #251 (fable/respawn-ui-v2@ac6debe8) is also merged, so respawn UI v2 is current Build84 behavior. PR #332 remains an open docs-only respawn-flow QA report and is cited only as QA evidence. Paths below are relative to source root Missions/[55-2hc]warfarev2_073v48co.chernarus unless a branch note says otherwise.
MASH remains branch-sensitive: current Build84/B74-shaped maintained roots have no live maintained-root MASH deploy/module path, while older docs/Miksuu/perf-shaped roots still have local officer MASH respawn plus an orphaned marker relay. Use the MASH matrix below before making any team-shared/JIP-safe MASH claim.
Keep-current-kit fix, 2026-07-07: additionally source-verified against origin/claude/build84-cmdcon36 (c3cc5b1, Build 91 / release 1.2.2 candidate) for the GUI_RespawnMenu.sqf gear-toggle keep-current-kit capture fix documented in Respawn Menu Responsibilities, Gear And Penalty Rules and Known Risks And Patch-Ready Items below.
Respawn touches client UI, action-menu recovery, skill reapply, gear economics, camp ownership, MASH/officer skills, mobile ambulances and redeploy trucks, AI team continuity, kill scoring and HQ fallback. Small changes here can strand a player after death, make gear penalties unfair, show unusable spawn options, lose skin-selector state, or accidentally turn a local respawn helper into a network authority surface.
| Area | Evidence | Meaning |
|---|---|---|
| Engine respawn mode |
Rsc/Header.hpp:3-6 sets respawn = 3, respawnDelay = WF_RESPAWNDELAY and respawnDialog = false. |
The mission suppresses the default engine dialog and owns the death camera plus custom respawn menu. |
| Player death handler compile |
Client/Init/Init_Client.sqf:111,127 compiles WFBE_CL_FNC_OnKilled and WFBE_CL_FNC_UI_Respawn_Selector. |
Death handling and marker animation are client-local functions. |
| Player killed EH cleanup/rebind |
Client_OnKilled.sqf:42-65,107-125 removes old Killed/action state, then binds the fresh player object and calls PreRespawnHandler. |
Death creates a new player unit; old-unit action IDs cannot be trusted after the swap. |
| Pre-respawn reapply |
Client_PreRespawnHandler.sqf:5-14,33-40 reapplies skill effects, UI actions, death glue, Fired/HandleDamage handlers, HQ action and statistics. |
Post-death action and skill smoke belongs here. |
| AI respawn EH |
Server/AI/AI_AddMultiplayerRespawnEH.sqf:1 attaches MPRespawn handling for non-player leaders. |
AI leader respawn is server-side and separate from the player menu. |
flowchart TD
Killed["Player Killed EH"] --> OnKilled["Client_OnKilled.sqf"]
OnKilled --> Cleanup["Remove old actions, close dialogs, save death position"]
Cleanup --> WaitAlive["waitUntil alive player"]
WaitAlive --> TeamLeader["RequestSpecial update-teamleader"]
TeamLeader --> Rebind["Re-add Killed EH"]
Rebind --> PreRespawn["PreRespawnHandler"]
PreRespawn --> Menu["WFBE_RespawnMenu"]
Menu --> Available["Client_GetRespawnAvailable"]
Available --> Select["Map click / closest spawn"]
Select --> OnRespawn["OnRespawnHandler"]
OnRespawn --> Gear["Move player, apply gear/default penalty"]
Gear --> Skin["Optional skin-selector reapply"]
Client_OnKilled.sqf validates killer display text (:15-40), removes Killed/action/WF-menu state from the dead body (:42-65), closes dialogs (:78-81), records WFBE_DeathLocation (:83), waits for the new player object (:89), sends RequestSpecial ["update-teamleader", ...] (:92-94), restores local group leadership (:96-101), displays the death text (:103-104), re-adds the Killed EH (:107-118), calls PreRespawnHandler (:123-125) and starts the death-camera/post-process thread (:128-165+). Current Build84 also guards invalid death locations before the camera loop (:161-165).
GUI_RespawnMenu.sqf owns the custom death-screen loop. It reconstructs a safe WFBE_DeathLocation if the killed handler did not set one (:6-17), reads WFBE_C_RESPAWN_UI_V2 (:19-20), focuses the map with v2 zoom or legacy zoom (:22-26), sets the gear-toggle label and legend strip (:28-45), starts/reuses WFBE_RespawnTime with nil/type fallback (:47-62), refreshes spawn candidates once per second (:102-110), optionally preselects the last spawn (:111-115), updates marker color/type labels and distance display (:180-256), then calls OnRespawnHandler on normal exit (:265-305). The selector animation loop is Client_UI_Respawn_Selector.sqf:14-35, sleeping every 0.03 seconds while WFBE_MarkerTracking exists.
The GEAR toggle inside the same loop flips WFBE_RespawnDefaultGear on click (GUI_RespawnMenu.sqf:96-98). When the toggle lands on keep-current and the player has no saved kit yet (isNil {player getVariable "wfbe_custom_gear"}), the handler now captures the player's live weapons, magazines, backpack and primary/secondary/sidearm into wfbe_custom_gear at cost 0 and hints the player to persist it via Team Menu -> Save Gear (GUI_RespawnMenu.sqf:99-115). This is the keep-current-kit fix: previously, toggling to KEEP CURRENT with no purchased/saved kit left wfbe_custom_gear nil, so the Client_OnRespawnHandler.sqf:146 custom-gear guard failed on respawn and the player received default gear even though the button read keep-current.
Respawn UI v2 is current Build84 behavior. WFBE_C_RESPAWN_UI_V2 defaults to 1 in Init_CommonConstants.sqf:1888-1893; WFBE_C_RESPAWN_MAP_ZOOM defaults to 0.03 (:1895-1898); WFBE_C_RESPAWN_CONTESTED_RADIUS defaults to 500 (:1900-1902). The dialog owns the legend control at Rsc/Dialogs.hpp:429-443, and strings live at stringtable.xml:1878-1894. Setting WFBE_C_RESPAWN_UI_V2 = 0 is the documented legacy-screen rollback.
| Source | Current Build84 player availability | AI availability | Notes |
|---|---|---|---|
| HQ and production factories |
Client_GetRespawnAvailable.sqf:8-31 starts with side HQ plus Barracks/Light/Heavy/Air factories and removes a dead HQ when another base spawn exists. |
AI_AdvancedRespawn.sqf:77-104 and AI_SquadRespawn.sqf:65-90 fall back to HQ or closest structure. |
If the menu hands objNull to the handler, non-GUER uses live HQ or start position fallback in Client_OnRespawnHandler.sqf:24-48. |
| Mobile ambulances |
Client_GetRespawnAvailable.sqf:33-46 scans side ambulance classes inside the respawn-range upgrade and requires free cargo. |
AI_AdvancedRespawn.sqf:44-53; AI_SquadRespawn.sqf:43-51. |
Final placement also requires alive/unlocked cargo at Client_OnRespawnHandler.sqf:71-76. |
| Medic redeploy trucks |
Client_GetRespawnAvailable.sqf:48-82 is Medic-only, requires free cargo, stationary, engine off and not within 500 m of enemy/contested towns. |
No dedicated AI redeploy-truck path in the audited AI scripts. | Uses the same mobile default-gear gate in Client_OnRespawnHandler.sqf:58-60,74-76. |
| Squad leader |
Client_GetRespawnAvailable.sqf:84-89 allows leader respawn when enabled, not self, and within WFBE_C_RESPAWN_RANGE_LEADER. |
AI uses team wfbe_respawn object/string state instead. |
WFBE_C_RESPAWN_LEADER == 2 forces default gear in Client_OnRespawnHandler.sqf:63-66. |
| Threeway defender towns |
Client_GetRespawnAvailable.sqf:91-100; Common_GetRespawnThreeway.sqf:6-10. |
Not seen in AI respawn scripts except via camps. | Defender can use side-controlled towns in threeway; zero-camp helper fallback remains a review item. |
| Camps |
Client_GetRespawnAvailable.sqf:102-105; Common_GetRespawnCamps.sqf:11-94. |
AI_AdvancedRespawn.sqf:37-40; AI_SquadRespawn.sqf:36-39. |
Modes: classic, nearby camps, defender-only; optional hostile safe-radius rules. |
| GUER towns and FOBs |
Client_GetRespawnAvailable.sqf:107-120 offers resistance/neutral towns plus live wfbe_is_guer_fob vehicles. |
GUER AI respawn is not represented by the player menu. |
Client_OnRespawnHandler.sqf:79-112 honors selected GUER town/FOB/factory, else falls back to friendly/neutral towns then start marker. |
| Naval HVT carrier towns |
Client_GetRespawnAvailable.sqf:122-134 offers carrier town logics held by WEST/EAST. |
No dedicated AI carrier-respawn path in audited AI respawn scripts. | WEST/EAST deck placement is in Client_OnRespawnHandler.sqf:113-123; GUER/naval HVT deck placement is :107-111. |
| Officer MASH/FARP | No current Build84 maintained-root player candidate. See MASH matrix. | No current Build84 AI MASH path in audited AI scripts. | Old docs/Miksuu/perf-shaped roots had local officer MASH, but current Build84/B74-shaped roots removed the maintained-root deploy/module path. |
Service Point and Command Center base respawns are still commented out in Client_GetRespawnAvailable.sqf:24-27; live WEST/EAST base respawn is HQ plus Barracks/Light/Heavy/Air factories. The current target contains many AICOM MHQ relocation features, but MHQ relocation is not a player respawn node by itself; player HQ/base respawn still routes through the side HQ/factory candidate list above.
Threeway defender town respawn inherits the camp-count fallback. Common_GetTotalCamps.sqf:9-12 and Common_GetTotalCampsOnSide.sqf:15-22 both return 1 when a town has zero camps, and Common_GetRespawnThreeway.sqf:6-8 treats equality as all camps owned. Because Client_GetRespawnAvailable.sqf:91-93 appends that result directly, a side-owned zero-camp town can become a respawn source unless an owner confirms that the 1 fallback is intended for this caller.
Draft PR #78 / origin/claude/trello-map-radius-circles@77dd71ba is branch-only local map-marker feedback, not current Build84 behavior. It adds Client_AmbulanceRedeployCircles.sqf:1-69 and launches it from Init_Client.sqf:1227 on that branch. The radius matches the same upgrade range used by Client_GetRespawnAvailable.sqf:33-38,55-59, but the watcher does not duplicate cargo, lock, stationary, engine-off or enemy-town checks. If revived, smoke ring visibility against actual selectable respawn entries.
No revive framework is wired in current Build84. The live architecture is kill event, custom death camera, respawn menu, then Client_OnRespawnHandler.sqf. Do not document MASH as revive; it is either a removed current-branch spawn feature or an old-shape local respawn candidate with dead marker sharing.
Client_OnRespawnHandler.sqf first refreshes clientTeam and requests a funds resend (:11-22), then applies spawn placement and gear. Mobile ambulances/redeploy trucks and leader respawn can force default gear when their parameter is 2 (:54-66). Custom gear is attempted only when wfbe_custom_gear exists, WFBE_RespawnDefaultGear is false and _allowCustom stayed true (:145-152). GUI_RespawnMenu.sqf:99-115 guarantees wfbe_custom_gear exists the first time a player toggles to keep-current, even when no kit was ever purchased through GUI_BuyGearMenu.sqf or saved through GUI_Menu_TeamV2.sqf gear presets: it snapshots the player's live inventory at toggle time so the guard above no longer fails. This also unblocks GUI_Menu_TeamV2.sqf:151-198 gear-preset saving, which previously reported "no gear purchased yet" (:164) for the same never-bought-a-kit player.
| Mode | Lobby text | Current Build84 behavior | Evidence |
|---|---|---|---|
0 |
Disabled | Keep custom gear for free when custom gear is allowed. | Client_OnRespawnHandler.sqf:152-190 |
1 |
Default Gear | Strip custom gear by falling through to default gear, and now show the penalty/default-gear chat line. This is the lane 188d silent-strip fix. |
Client_OnRespawnHandler.sqf:149-151,194-229; strings at stringtable.xml:1756-1758
|
2 |
Gear Price | Charge full saved custom gear cost. | Client_OnRespawnHandler.sqf:160-165,174-182 |
3 |
Gear Price 1/2 | Charge half saved custom gear cost. | Client_OnRespawnHandler.sqf:160-165,174-182 |
4 |
Gear Price 1/4 | Charge quarter saved custom gear cost. | Client_OnRespawnHandler.sqf:160-165,174-182 |
5 |
Gear Price on Mobile Respawn | Price is full cost, but _charge is false for side structures or side HQ, so base/HQ respawns do not charge and no longer skip custom gear for insufficient funds. |
Client_OnRespawnHandler.sqf:167-182 |
The custom-gear cost path now defaults missing wfbe_custom_gear_cost to 0 (Client_OnRespawnHandler.sqf:155). That is the merged lane 188 fix for old saves or templates without a cost stamp. Default gear falls back through role defaults and then faction default gear, logging when a role default is missing (:194-229). GUER default gear remains partial: Root_GUE_PlayerOverlay.sqf:30-44 defines Engineer, Spotter and Medic defaults; the handler fallback prevents naked respawns when a role-specific GUER kit is missing.
The skin selector is enabled by SkinSelector_Enabled.sqf:19-23: WFBE_C_SKINSEL defaults on through missionNamespace getVariable ["WFBE_C_SKINSEL", 1], while legacy WFBE_C_SKIN_SELECTOR can also force it on. Current constants set WFBE_C_SKINSEL = 1 if nil at Init_CommonConstants.sqf:1004, while the old legacy flag still defaults to 0 at :1633.
Entry points are join/class initialization (Skill_Init.sqf:71-75), the WF menu SKIN button (GUI_Menu.sqf:224-231) and User11 keybind (Init_Keybind.sqf:1-14). SkinSelector_Apply.sqf blocks concurrent/double applies (:60-67), snapshots gear before the model swap (:99-100), creates the replacement unit (:105-150), reapplies gear, re-adds keybind/HQ action state (:366-375) and persists the chosen class by UID (:378-382). On normal respawn, Client_OnRespawnHandler.sqf:231-250 waits 0.5 seconds, reads the saved class and calls SkinSelector_Apply.sqf only when the player is alive and on foot.
Skin selector smoke should cover first join, WF menu reopen, User11 reopen, respawn reapply, concurrent apply prevention, funds carry and action-menu recovery. It should not be mixed with MASH marker sharing; those are separate surfaces.
Rsc/Parameters.hpp:450-485 exposes the main respawn lobby parameters. Runtime fallbacks and feature toggles are in Init_CommonConstants.sqf.
| Parameter | Mission parameter default | Runtime fallback / current constant | Notes |
|---|---|---|---|
WFBE_C_RESPAWN_DELAY |
30 |
menu falls back to 10 if nil/non-scalar at GUI_RespawnMenu.sqf:48-54
|
Player UI and AI waits read this. |
WFBE_C_RESPAWN_LEADER |
0 |
current constant/fallback checked by handler |
2 means enabled with default gear. |
WFBE_C_RESPAWN_MOBILE |
1 |
current constant/fallback checked by availability and handler |
2 means enabled with default gear for ambulances and redeploy trucks. |
WFBE_C_RESPAWN_PENALTY |
0 |
values 0..5 at Rsc/Parameters.hpp:474-479
|
Parameter default disables custom-gear penalty. |
WFBE_C_RESPAWN_CAMPS_RANGE |
400 |
Common_GetRespawnCamps.sqf:16,38,65 |
Camp scan/range behavior. |
WFBE_C_RESPAWN_CAMPS_SAFE_RADIUS |
n/a |
50 at Init_CommonConstants.sqf:1449
|
Hostile-safe filtering radius for camp rules. |
WFBE_C_RESPAWN_RANGE_LEADER |
n/a |
50 at Init_CommonConstants.sqf:1450
|
Leader respawn proximity. |
WFBE_C_RESPAWN_RANGES |
n/a |
[250, 350, 500] at Init_CommonConstants.sqf:1451
|
Mobile/redeploy truck range by upgrade. |
WFBE_C_RESPAWN_UI_V2 |
n/a |
1 at Init_CommonConstants.sqf:1888-1893
|
Current Build84 UI v2 master, default on. |
WFBE_C_RESPAWN_MAP_ZOOM |
n/a |
0.03 at Init_CommonConstants.sqf:1895-1898
|
UI v2 initial map zoom; legacy screen uses 0.095. |
WFBE_C_RESPAWN_CONTESTED_RADIUS |
n/a |
500 at Init_CommonConstants.sqf:1900-1902
|
UI v2 amber contested marker threshold. |
Canonical current-target statement: current Build84/B74-shaped maintained roots have no maintained-root MASH deploy/module path and no current player MASH candidate in Client_GetRespawnAvailable.sqf. Class/config residues and old comments are not proof of a working current MASH respawn. Treat MASH revival/removal as branch-sensitive work.
Old docs/Miksuu/perf-shaped roots are different: local officer MASH respawn is source-supported there, but team-wide/JIP-safe MASH marker synchronization is orphaned. On those roots, the officer action is added by Client/Module/Skill/Skill_Apply.sqf:42-55, deployment stores local wfbe_mash in Client/Module/Skill/Skill_Officer.sqf:7-29, availability reads it in Client_GetRespawnAvailable.sqf:47-58, and undeploy deletes it in Officer_Undeploy_MASH.sqf:19-21. The marker relay is dead/orphaned: Server/Module/MASH/MASHMarker.sqf:1-13 listens, Client/Module/MASH/receiverMASHmarker.sqf:1-29 exists, the receiver compile is commented in Init_Client.sqf:132, and no maintained deploy sender for WFBE_CL_MASH_MARKER_CREATED was found.
| Scope | Local MASH respawn | Shared marker relay | Development meaning |
|---|---|---|---|
| Current Build84/B74-shaped maintained roots | Removed from maintained-root deploy/module and current respawn availability. | No maintained-root module relay path. | Do not document MASH as current player/team spawn without a deliberate revival branch. |
Repo docs branch HEAD@f938b0c0b7ea Chernarus and maintained Vanilla, unchanged from 443055cf / 2b5139219faa / db3015f18ea3 for checked MASH paths |
Source-supported local deploy/read path. | Orphaned receiver/listener with no maintained deploy sender. | Decide personal/squad/team semantics before changing code. |
Miksuu b8389e748243 and origin/perf/quick-wins@0076040f8a5e
|
Same old-shape local path. | Same orphaned relay. | Upstream/perf do not prove team-shared MASH behavior. |
Modded eden / lingor
|
Not maintained proof. | Sender-only drift: modded deploy sends WFBE_CL_MASH_MARKER_CREATED, but maintained clients still do not compile the receiver. |
Use only as archaeology if reviving. |
Service points are not active respawn nodes in current Build84. Client_GetRespawnAvailable.sqf:24-27 still has commented command-center and service-point candidate code, while the live list continues through HQ/factories, mobile ambulance, redeploy truck, leader, threeway towns, camps, GUER FOBs/towns and naval carrier towns. Keep service-point behavior in the service/EASA support lane unless an owner deliberately revives service-point respawn and smokes UI, JIP and default-gear rules.
There are two audited AI leader paths:
-
AI_AddMultiplayerRespawnEH.sqf:1adds anMPRespawnhandler that callsAIAdvancedRespawnfor non-player units on the server. -
AI_SquadRespawn.sqf:14-111runs a loop watching non-player team leaders, waits for death/alive transitions, then handles respawn.
Both server AI paths rebind killed scoring EHs, collect camp/mobile candidates unless forced respawn is set, wait WFBE_C_RESPAWN_DELAY, re-equip from side AI loadout variables keyed by gear upgrade, choose stored team respawn object/HQ/closest structure/random camp/mobile fallback and reset non-autonomous movement orders. Team respawn state is group setVariable ["wfbe_respawn", _respawn, true] via Common_SetTeamRespawn.sqf:1-8; groups are initialized with blank respawn in Server/Init/Init_Server.sqf:474-483.
AI loadout tier note: both AI respawn paths historically read _upgrades select 13, matching WFBE_UP_GEAR = 13. Future cleanup should use the named constant, clamp the selected tier to available WFBE_%SIDE_AI_Loadout_0..3 arrays and guard empty arrays before random count.
The player Killed EH sends the common kill report path through WFBE_CO_FNC_OnUnitKilled (Client_OnKilled.sqf:107-118; Common_OnUnitKilled.sqf:8-14). The server handler RequestOnUnitKilled.sqf resolves last-hit fallback for suicide/null killer cases, logs the death, schedules trash cleanup, updates side casualties/vehicles lost, awards score/bounty for enemy kills and sends teamkill notices for player-led friendly kills. HQ death has its own redundant client EH/JIP path and idempotency issue documented in Deep-review findings DR-20 and Server runtime; do not mix ordinary unit kill scoring with HQ-killed processing.
| Status | Item | Evidence | Next action |
|---|---|---|---|
| Fixed on current Build84 | Lane 188 mode-1 custom-gear strip is no longer silent, missing custom-gear cost defaults to zero, and mode-5 base/HQ respawns no longer skip custom gear merely because funds are low. |
Client_OnRespawnHandler.sqf:149-155,167-182; PR #478 merged 2026-07-03. |
Smoke penalty modes 1 and 5 with base, mobile and insufficient-funds cases before release-ready wording. |
| Fixed on current Build91 | Toggling GEAR to KEEP CURRENT with no purchased/saved kit no longer falls back to default gear on respawn. The toggle now captures the player's live inventory into wfbe_custom_gear at cost 0 when none exists yet, satisfying the existing Client_OnRespawnHandler.sqf:146 custom-gear guard. |
GUI_RespawnMenu.sqf:99-115; Client_OnRespawnHandler.sqf:146,196-201. |
Smoke: die with no purchased/saved kit, toggle GEAR to KEEP CURRENT, respawn, and confirm the captured loadout (not default gear) is applied; also confirm GUI_Menu_TeamV2.sqf Save Gear now stores a preset from the captured kit. |
| Owner decision | Current Build84 has no maintained-root MASH deploy/availability path; old docs/Miksuu/perf roots had local MASH but no team/JIP marker proof. | MASH split. | Decide revive/remove semantics. A revival needs server-owned marker records and explicit JIP resend/pull. |
| Smoke pending | Respawn UI v2 is default-on current behavior. |
GUI_RespawnMenu.sqf:19-45,111-115,180-256; Rsc/Dialogs.hpp:429-443; Init_CommonConstants.sqf:1888-1902. |
Smoke marker colors, type tags, distance text, last-spawn memory, gear button text/tint, legacy rollback and map-click selection. |
| Smoke pending | Skin selector persists/reapplies skins after respawn. |
SkinSelector_Apply.sqf:60-67,99-150,366-382; Client_OnRespawnHandler.sqf:231-250. |
Smoke first join, menu/keybind reopen, respawn reapply, double-click guard, funds carry and action recovery. |
| Review target | Respawn menu loop sleeps 0.01 and selector sleeps 0.03. |
GUI_RespawnMenu.sqf:262; Client_UI_Respawn_Selector.sqf:19-35. |
Keep as bounded death-screen-only UI work; if optimizing, preserve marker responsiveness and cleanup. |
| Cleanup target | AI respawn loadout tier uses a literal gear-upgrade index and assumes a non-empty loadout array. |
AI_AdvancedRespawn.sqf:68; AI_SquadRespawn.sqf:56; Init_CommonConstants.sqf:50. |
Replace literal 13 with WFBE_UP_GEAR, clamp/bounds-check tier selection and smoke Vanilla plus non-Vanilla AI leader respawn. |
| Review target | Threeway defender respawn can include zero-camp towns because total-camp helpers return 1 for empty camp arrays. |
Common_GetTotalCamps.sqf:9-12; Common_GetTotalCampsOnSide.sqf:15-22; Common_GetRespawnThreeway.sqf:6-8; Client_GetRespawnAvailable.sqf:91-93. |
Split safe-denominator helpers from real respawn eligibility, or explicitly exclude zero-camp towns in GetRespawnThreeway; smoke threeway defender towns with 0/partial/all camps. |
| UI mismatch | Mobile ambulance preview checks cargo space, while final placement also requires alive and unlocked state. |
Client_GetRespawnAvailable.sqf:33-46; Client_OnRespawnHandler.sqf:71-76; GUI_RespawnMenu.sqf:102-110,265-305. |
Decide whether the menu should filter dead/locked vehicles too, or show the option but fall back cleanly if the vehicle changes during countdown. |
- Player dies, old WF menu/action IDs are removed from the corpse, and the menu/actions return on the new unit.
- Death camera handles valid and invalid
WFBE_DeathLocationwithout RPT spam. - Respawn menu opens, countdown runs, map click selects nearest spawn within 500 meters, and markers clean up after spawn.
- UI v2 shows type tags, safe/contested colors, distance suffixes, legend and last-spawn memory; UI v2 rollback restores legacy text/zoom.
- Base/factory, camp, mobile, redeploy truck, leader, carrier and GUER spawn options appear only under their parameter/range/ownership rules.
- Custom/default gear behavior matches
WFBE_C_RESPAWN_PENALTY,WFBE_C_RESPAWN_* == 2, player funds and missing custom-gear cost. - Skin selector first-join and respawn reapply preserve chosen class, gear, funds, keybind and commander HQ action.
- MASH is not shown as current Build84 behavior unless a target branch deliberately restores it; old-shape MASH marker sharing stays marked orphaned.
- AI team leaders respawn after configured delay, re-equip, pick sane camp/mobile/base fallback and reset orders when not autonomous.
The optional GUER Insurgents faction (side resistance) is base-less and spawns differently from WEST/EAST. There is no HQ, no factory wait and no service point; a GUER client skips several WEST/EAST blocking waits and spawns at friendly/neutral towns or GUER FOBs. Full faction context: GUER Insurgents Faction Overview.
| Stage | Behaviour | Source |
|---|---|---|
| Init waits skipped | Structure/supply waits and HQ/COIN/vote blocks are gated away from resistance; GUER radio is explicitly included when playable. | Client/Init/Init_Client.sqf:873-879,908-910,1041-1050,1356-1360 |
| First placement | Random resistance/neutral town, else any town, else marker GuerTempRespawnMarker. |
Client/Init/Init_Client.sqf:1003-1008 |
| Respawn list | Resistance/neutral towns plus live FOB delivery trucks; built FOB factories are offered via side structures. |
Client_GetRespawnAvailable.sqf:107-120; Client_OnRespawnHandler.sqf:85-92
|
| Placement offset | Selected town/FOB/factory is honored when valid; naval HVT uses deck Z, otherwise [getPos target, 5, 15] Call GetRandomPosition. |
Client_OnRespawnHandler.sqf:79-112 |
| Default gear | GUER has Engineer, Spotter and Medic role defaults; missing role defaults fall back to faction default if available. |
Root_GUE_PlayerOverlay.sqf:30-44; Client_OnRespawnHandler.sqf:213-229
|
| IED anti-farm | A Fired EH stamps wfbe_ied_recent on BAF IED magazines so the server can reduce IED kill bounty. |
Client_OnRespawnHandler.sqf:126-142 |
Previous: Client UI systems atlas | Next: Gear/loadout and EASA atlas
Related: Feature status | JIP enrollment and client data delivery | Medic redeploy truck | Testing workflow
Home | Agent Guide | Current live state | Release 1.2.2 (B91) | Quickstart | Progress | Lifecycle wait-chain | Join/disconnect | Parameters/build | Assets/config | SQF atlas | PV index | Modules | Support/specials | Commander/HQ | Commander vote/reassign | Construction/CoIn | Construction cleanup | WDDM compositions | Factory/purchase | Upgrades/research | Towns/camps/capture | Victory/endgame | Markers/cleanup | Server runtime | AI runtime/HC | AI commander audit | HC delegation | Town AI safety | Commander reassignment | Resistance supply | Player UI workflow | UI atlas | Respawn/death | Gear template filter | Vehicle cargo loop | Service guards | UI IDD repair | UI design inspiration | WASP overlay | Feature status | Source propagation | release readiness | Tooling readiness | Integration trust | AntiStack DB | Owner decisions | Shelved registry | Abandoned feature revival | Hardening roadmap | PVF dispatch | Server authority | ICBM authority | Attack-wave authority | Telemetry families | AICOM V2 cutover | Consumer port map | Testing workflow | Server ops | Web tools | Ecosystem repos | Arma 2 OA refs | A2 traps | OA compatibility audit | Coverage ledger | Navigation inventory | Pruning ledger | Knowledge roadmap | Agent context | Collab protocol | Worklog | Audit archive 2026-07 | Briefing reference | Utes invasion concept
- Shelved AICOM concepts - revivable someday ideas (owner-shelved 2026-07-03)
Docs rule: source-backed claims only; Arma 2 OA scripting docs only; gameplay edits start in Missions/[55-2hc]warfarev2_073v48co.chernarus.
- Getting started
- Status and coordination
- Agent context
- Agent collaboration protocol
- Agent worklog
- Agent worklog archive
- Progress dashboard
- PR cleanup and integration lab
- Shelved PR #169: gear price double-count
- Shelved PR #194: Chernarus no-trees
- Coordination board
- Codebase coverage ledger
- Bottleneck removal queue
- Current source status
- Wiki mirror reconciliation
- Navigation inventory
- Registers
- Agent orchestration
- Architecture
- Architecture overview
- Mission entrypoints and lifecycle
- Lifecycle wait chain
- Player join/disconnect and AntiStack lifecycle
- Mission parameters/localization/build inputs
- Stringtable localization key-family catalog
- Source inventory
- Content structure and maps
- Assets/config/localization/parameters
- Mission start parameters index
- Code and networking
- Gameplay systems
- Core systems index
- Gameplay systems atlas
- Commander/HQ lifecycle atlas
- Economy, towns and supply
- Economy system reference
- Balance asymmetries
- Anti-stack skill-balance mechanic
- Empty-side supply income stagnation
- Towns, camps and capture atlas
- Victory and endgame atlas
- Victory conditions reference
- Territorial victory reference
- Marker cleanup and restoration
- Marker loop engine and registries
- Map marker families content catalog
- Marker subsystem function reference
- Client marker FSM updater map
- Support specials and tactical modules
- SCUD TEL tactical munitions
- Naval HVT objectives (carriers/SCUD)
- SCUD saturation strike mechanic
- Takistan airfield FPV drone design
- Construction and CoIn systems
- Structure damage reduction & friendly-fire
- Construction logic list cleanup
- Flak tower & WDDM anchor compositions
- Resistance supply scaffold
- GUER Insurgents faction overview
- GUER Insurgents branch audit
- GUER insurgent player economy
- GUER air-defense loop (Ka-137/Mi-24)
- Upgrades and research atlas
- Supply mission architecture
- Supply mission authority cleanup
- Current supply helicopters PR1
- Respawn and death-loop lifecycle
- Vehicle theft economy pitch
- GUER tunnel network pitch
- Content, reference and catalogs
- Faction unit/vehicle roster catalog
- Auxiliary/SF/civilian unit catalog
- Gear store loadout route catalog
- Upgrade research (cross-faction)
- Gear store price and upgrade catalog
- Gear store catalog (complete, per faction)
- Defense structures catalog
- Artillery reference per faction
- AI squad team templates catalog
- Town AI lifecycle reference
- Town AI group composition catalog
- Class-skill system reference
- Player skill abilities reference
- Default gear template content catalog
- Chernarus map content reference
- Takistan map content reference
- Takistan features
- Takistan parity reference
- Takistan oilfields objective reference
- IRS IR-smoke countermeasure
- Arty module special munitions
- Zeta cargo sling-load reference
- Spawn primitive function reference
- Kill and score pipeline
- Waypoint helper function reference
- Position and proximity function reference
- Side/team state function reference
- Player AI watchdog and recovery
- AICOM stuck-recovery v2
- LoadoutManager data-model contributor guide
- Discord status bot setup and reference
- GLOBALGAMESTATS extension reference
- New player quickstart (player guide)
- Optional client mods (player guide)
- Earning funds and score (player guide)
- Vehicle service and logistics (player guide)
- Commander's handbook (player guide)
- Tactical support menu
- Paradrop player experience
- Supply missions (player guide)
- In-game briefing & Diary field manual
- Playable maps catalog
- Faction root variables reference
- Faction base structures catalog
- Counter-battery radar system
- Bank, Reserve and Artillery Radar structures
- Map ruleset model and object config
- Countermeasures module reference
- Vehicle countermeasure (flares/spoofing)
- UAV terminal and spotter system
- Artillery firing function reference
- Service Point pricing model
- Medic redeployment truck (forward spawn)
- Side-patrol runtime and convoy mechanics
- Day/night cycle and weather system
- Config lookup helper reference
- CIPHER sort utilities reference
- Modded maps status and content
- BattlEye filter setup and OA taxonomy
- Player squad/group join protocol
- AutoFlip vehicle recovery
- Engine stealth fuel toggle
- Valhalla vehicle climbing-assist
- Missile and ordnance Fired-EH reference
- Vehicle equip and rearm reference
- Array and collection utilities
- Server composition spawner reference
- Upgrade queue server loop
- Map boundaries and off-map enforcement
- Namespace/profile/diagnostic utilities
- Group bool getVariable A2-OA trap
- Vehicle weapon balance init
- View distance auto-throttle
- Camp & respawn-camp getters
- Performance audit writer
- Site clearance (bulldozer)
- Factory queue cancel & refund
- AI commander tunable constants
- Experimental feature-flag constants
- Flag system quick reference
- Mission tunable constants catalog
- Gear parsing & cargo capacity
- Structure dressing function
- Paradrop delivery functions
- ICBM nuke client VFX & radiation
- Server HandleSpecial router
- LocalizeMessage chat router
- Gear buy-menu render & price functions
- Server broadcast & telemetry loops
- Per-unit client init pipeline
- Vehicle marking & texture pipeline
- Defense category & budget
- Legacy AI order primitives
- Commander-team driver
- AICOM command verbs
- AICOM behavior fix taxonomy
- AI commander wildcard deck reference
- AICOM aircraft and airfield system
- Static-defense manning
- End-of-game stats screen
- AI commander execution loop
- Deployable bipod / weapon resting
- Town-economy getters
- Server-init deadspawn & airfield probe
- GUER VBIED detonate action
- Resource income-tick engine
- AI commander treasury accessors
- PVF send-helper contracts
- AICOM logging & AICOMSTAT telemetry
- AICOMSTAT v2 event census
- WASPSCALE v2 telemetry
- WASPSCALE v2-ext coverage audit
- Telemetry families reference
- Group lifecycle & entity reaping
- Batch AI spawner orchestrator
- Client funds/income HUD readout
- Server group GC & cap warning
- Town runtime tuning constants
- Client input/hotkey handler
- WASP base-repair system
- WASP DropRPG launcher/ordnance
- CoIn construction-interface client engine
- Town-capture garrison & airfield rebuild
- Map-control & minimap templates
- Client FPS & state telemetry
- Client service-proximity getters
- Airfield-exclusive roster & unit hints
- Unit-camera spectator system
- Town-garrison patrol/defense worker
- RequestTeamUpdate squad-discipline
- Arma2Warfare GPT assistant
- LoadoutManager build configs & defines
- GLOBALGAMESTATS extension logging
- Discord bot instrumented logging
- Eden/Everon & Taviana map content
- Cruise missile strike asset
- AI / HC
- AI headless and performance
- AI mods and pathfinding reference
- Headless client scaling and topology
- AI runtime/HC loop map
- Headless client init and stat loop
- HC delegation target selection
- Player AI caps and role balance
- Old WarfareBE FPS comparison
- AI commander autonomy audit
- Upstream BE 2073 AICOM delta
- Parent 2.073 divergence audit
- AI commander capture & fun plan
- AI commander B69 improvement roadmap
- AI commander B69 implementation sketches
- AICOM V2 cutover status
- Headless delegation and failover
- Commander reassignment call shape
- GUER Director living-resistance pitch
- Quality and operations
- Foundation perf findings & Tier-3 dead-ends
- Dead/stale code register
- Commander vote/reassignment
- Attack-wave authority
- Server runtime and operations
- Server ops runbook
- JIP enrollment & client data delivery (b74.2 lessons)
- Server gameplay runtime atlas
- PerformanceAuditAnalyzer
- Performance opportunity sweep
- Documentation plan
- Knowledge platform roadmap
- Wiki quality audit
- Wiki pruning and relevance ledger
- Audit findings queue (2026-06-03)
- Deep review findings
- Client UI / server-loop perf findings
- Performance gain simulation
- Self-host testing field notes
- Cleanup and work lanes
- Hardening and authority
- UI / player workflows
- Client UI, HUD and menus
- UI HUD and dialogs
- Player UI workflow map
- Client UI systems atlas
- UI IDD collision repair
- UI control class library reference
- UI theme palette and style macros
- UI design inspiration 2026-07
- Available-actions client gate FSM
- Gear/loadout/EASA atlas
- Gear template profile filter
- Vehicle cargo equip loop bounds
- Factory and purchase systems atlas
- Service menu affordability guards
- WASP overlay
- Class-skill system reference
- Skin selector and class swap
- Earplugs audio toggle
- Mission audio catalog
- HQ radio knowledge-base catalog
- QoL trio player hints
- Player vehicle/travel actions
- Tooling / release / integrations
- Tools and build workflow
- Warfare web tools
- Ecosystem & companion repos
- Zargabad tooling parity
- July 2026 release readiness
- Operator monitor and CPU affinity tools
- Tooling release readiness audit
- Source fix propagation queue
- Agent release readiness ledger
- Release source intake map
- Testing/debugging/release workflow
- Current RPT release gate
- RPT telemetry consumer port map
- External integrations
- Integration trust boundary audit
- AntiStack database extension audit
- Community & Dev
- Community & Dev
- Miksuu upstream wiki import / archive index
- Upstream changelog feature leads
- Developer history and upstream lessons
- Upstream Miksuu commit intel
- Upstream mining ledger
- Archive script mining v2
- Upstream BE 2073 AICOM delta
- Parent 2.073 divergence audit
- PR8 and Drone upstream lesson match
- Development lessons learned
- External research reports
- Audit archive 2026-07
- Briefing reference
- Utes invasion concept
- Miksuu archive: Home
- Miksuu archive: Welcome
- Miksuu archive: Big announcements
- Miksuu archive: Changelog
- Miksuu archive: Development process
- Miksuu archive: Discord bot
- Miksuu archive: Gameplay videos
- Miksuu archive: LoadoutManager
- Miksuu archive: Chernarus script architecture
- Base-game visual catalogs
- Compatibility and references
- HC upstream history and lessons
- Player stats branch audit
- BuyMenu EASA QoL branch audit
- Perf quick wins branch audit
- Commander positions branch audit
- Zargabad branch audit
- Quad AI Commander concept
- Arma 2 OA external reference guide
- Base-game config & image reference
- Arma 2 OA compatibility audit
- Arma 2 OA agent traps reference
- Arma 2 OA command versions
- Wiki source consistency
- External Arma 2 OA reference index