Choose the calculation before choosing a getter

A type template, configured garage vehicle, preview vehicle, battle entity and shell-card provider answer different questions. Start by naming the required configuration, selected shot, descriptor mode, crew assumptions and modifier state. Preserve those inputs with the output and cache key. A compact descriptor identifies an item/type; it is not a complete calculation snapshot.

Native parameter builders often combine already-adjusted descriptor values with crew and equipment factors. Read each producer and consumer before adding another multiplier. Configured estimates do not automatically include current injuries, fire, terrain, local mechanic stages or server decisions.

A copied vehicle is not a detached sandbox

getVehicleCopy reconstructs the GUI vehicle while retaining inventory identity and a requester proxy. getLayoutsVehicleCopy reapplies layouts/progression and then assigns the original crew list. The list and tankman objects are shared. Refreshing crew bonuses on that copy can mutate original GUI crew objects.

Isolate the objects actually being changed: rebuild each nonempty crew member against the copy, retain empty slots and relevant metadata, then refresh bonuses. A shallow list copy alone does not isolate its members. Descriptor components have another sharing boundary: a new descriptor can still refer to cached templates, and the inspected gun-installation slot's deepcopy returns itself. Native copy-on-write distinguishes gun, shot list, shot and shell layers.

Object isolation does not remove action identity. The copied vehicle can retain an inventory ID used by helper action routing. Crew extraction can dispatch an unload action on a slot-role mismatch even when missing-value replacement is disabled. A method named like a query is not a no-side-effects contract. Validate setup inputs before using a calculation chain intended to be passive.

Read by topic

Choose a focused chapter. Complete examples and reference details are preserved on their topic pages.